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

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

系統 2061 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條評論
主站蜘蛛池模板: 神马毛片| 欧美成人一区二区三区不卡视频 | 国产成人综合日韩精品无 | 欧美劲爆第一页 | 手机在线国产精品 | 一级毛片一级毛片一级毛片 | 三中文乱码视频 | 九九国产精品九九 | 日韩在线成人 | 欧美一区二区在线播放 | 四虎影永久在线观看精品 | 色综合久久精品中文字幕 | 国产精品久久久久久一区二区 | 999精品视频这里只有精品 | 亚洲国产精品自产在线播放 | 久久欧美| 伊人久久在线视频 | 写真福利 第 页 在线视频 | 亚洲va国产日韩欧美精品色婷婷 | 国产精品久久久久999 | 一级毛片毛片毛片毛毛片 | 免费在线观看毛片 | 国产成人夜色91 | 九九热视频精品在线观看 | 狠狠久久久久久亚洲综合网 | www.黄.com| 女人18毛片a级毛片免费视频 | 尹人久久久香蕉精品 | 中文字幕亚洲一区二区v@在线 | 91最新在线观看 | 99久久国产综合精品2020 | 骚婷婷 | 亚洲高清免费在线观看 | 国产精品日韩欧美在线第3页 | 国产一区二区三区精品久久呦 | 99re这里只有精品66 | 亚洲天天做日日做天天看2018 | 欧美日本一本线在线观看 | 亚洲香蕉视频 | 久久99这里只有精品国产 | 91色蝌蚪|