亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Oracle: 使用execute immediate,當列名需要動

系統 1757 0

I write this post is just to make a summary of a point met this week.

寫得不好的話,請園子里的朋友們多提意見。

這個星期的工作遇到需要給Pakage加一個function,這個 function需要動態組織Sql ,

以實現不同的 logic.

In oracle, we know that:

EXECUTE IMMEDIATE代替了以前Oracle8i中DBMS_SQL package包.它解析并馬上執行動態的SQL語句或非運行時創建的PL/SQL塊.動態創建和執行SQL語句性能超前.

使用起來也非常容易,for example:

declare
? l_dept??? pls_integer := 20;
? l_nam???? varchar2(20);
? l_loc???? varchar2(20);
?begin
? execute immediate 'select dname, loc from dept where deptno = :1'
??? into l_nam, l_loc
??? using l_dept ;
?end;

這就是一個典型的檢索并傳值的例子。

我的例子稍微有一點不同,the column name needed to be binded dynamically.

??????? PKG_***.GET_****(' service_credit_percent ', 1, 2, inValExtractControlId, inEndDate)

其中, service_credit_percent 就是我想動態bind的列名,

我發現其它參數都可以,就是列名不能作為參數通過 bind 來傳遞。

向同事請教后,采取以下措施:

將列名,在拼接sql 時,直接拼接進 string:

?sql_select := 'SELECT sum(' ||? v_service_credit_pct || ')'?|| ;

v_service_credit_pct ? 是 function用來接受列名的參數.

其它參數則可以使用bind來傳遞。

Oracle: 使用execute immediate,當列名需要動態綁定時.


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 香蕉视频看片 | 日本免费不卡视频一区二区三区 | 不卡免费视频 | 亚洲国产精品一区 | 久久精品国产无限资源 | 私房色播| 成人ab片 | 青青热久免费精品视频精品 | 国产精品原创巨作无遮挡 | 四虎精品国产一区二区三区 | 天天操夜夜操 | 第一福利影院 | 国产波波社区精品视频 | 日韩在线视频免费播放 | 久操免费在线视频 | 久久不色 | 欧美国一级毛片片aa | 免费观看一级特黄三大片视频 | 性做久久久久久坡多野结衣 | 性欧美极品xxxx欧美一区二区 | 京野结衣免费一区二区 | 日本不卡1 | 点击进入不卡毛片免费观看 | 成人禁在线观看午夜亚洲 | 九九精品免费观看在线 | 免费在线观看毛片 | 亚洲日本一区二区三区高清在线 | 香蕉视频在线观看黄 | 国产福利在线小视频 | 精品玖玖玖视频在线观看 | 99中文在线 | 淫综合网 | 日本欧美精品 | 亚洲欧美一区二区三区在线播放 | 日日碰狠狠添天天爽爽爽 | 日韩欧美亚州 | 欧美大尺度免费一级特黄 | 黄色在线网站视频 | 亚洲国产精品一区二区首页 | 青青青国产观看免费视频 | 久久综合伊人 |