加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

动态sql

发布时间:2020-12-12 09:04:02 所属栏目:MsSql教程 来源:网络整理
导读:目录 div class="cnblogs_code" immediate immediate ; 1.给动态语句传值(USING 子句) ( ) : ( ) : immediate dept 2.从动态语句检索值(INTO子句) ( immediate ; 3.动态调用存过? get_rowcnt(l_tblnam ) t.empno l_cnt emp t rownum span style="color: #008

目录

<div class="cnblogs_code">



   immediate  immediate ;

1.给动态语句传值(USING 子句)

() : () : immediate dept

2.从动态语句检索值(INTO子句)

( immediate ;

3.动态调用存过?

get_rowcnt(l_tblnam ) t.empno l_cnt emp t rownum <span style="color: #008080;">--<span style="color: #008080;">3.动态调用存过
<span style="color: #0000ff;">declare
<span style="color: #000000;">
l_routin
<span style="color: #0000ff;">varchar2
(<span style="color: #800000; font-weight: bold;">100
) :<span style="color: #808080;">=
<span style="color: #ff0000;">'
<span style="color: #ff0000;">get_rowcnt
<span style="color: #ff0000;">'
<span style="color: #000000;">;
l_tblnam
<span style="color: #0000ff;">varchar2
(<span style="color: #800000; font-weight: bold;">20
) :<span style="color: #808080;">=
<span style="color: #ff0000;">'
<span style="color: #ff0000;">emp
<span style="color: #ff0000;">'
<span style="color: #000000;">;
l_cnt
<span style="color: #0000ff;">number
<span style="color: #000000;">;
l_status
<span style="color: #0000ff;">varchar2
(<span style="color: #800000; font-weight: bold;">200
<span style="color: #000000;">);
<span style="color: #0000ff;">begin

<span style="color: #0000ff;">execute
immediate <span style="color: #ff0000;">'
<span style="color: #ff0000;">begin
<span style="color: #ff0000;">'
<span style="color: #808080;">||
l_routin <span style="color: #808080;">||
<span style="color: #ff0000;">'
<span style="color: #ff0000;">(:2,:3,:4); end;
<span style="color: #ff0000;">'
<span style="color: #000000;">
using
<span style="color: #808080;">in
l_tblnam,out l_cnt,<span style="color: #808080;">in
<span style="color: #000000;"> out l_status;

<span style="color: #0000ff;">if l_status <span style="color: #808080;">!= <span style="color: #ff0000;">'<span style="color: #ff0000;">OK<span style="color: #ff0000;">' <span style="color: #0000ff;">then<span style="color: #000000;">
dbms_output.put_line(<span style="color: #ff0000;">'<span style="color: #ff0000;">error<span style="color: #ff0000;">'<span style="color: #000000;">);
<span style="color: #0000ff;">end <span style="color: #0000ff;">if<span style="color: #000000;">;
<span style="color: #0000ff;">end;

4.将返回值传递到PL/SQL记录类型;同样也可用%rowtype变量

(( immediate ;

5.传递并检索值.INTO子句用在USING子句前

(( immediate ;

6.多行查询选项.对此选项用insert语句填充临时表

(<span style="color: #0000ff;">declare<span style="color: #000000;">
l_sal pls_integer :
<span style="color: #808080;">=
<span style="color: #800000; font-weight: bold;">2000
<span style="color: #000000;">;
<span style="color: #0000ff;">begin

<span style="color: #0000ff;">execute
immediate <span style="color: #ff0000;">'
<span style="color: #ff0000;">insert into temp(empno,ename)
<span style="color: #ff0000;">'
<span style="color: #808080;">||

<span style="color: #ff0000;">'
<span style="color: #ff0000;"> select empno,ename from emp
<span style="color: #ff0000;">'
<span style="color: #808080;">||

<span style="color: #ff0000;">'
<span style="color: #ff0000;"> where sal > :1
<span style="color: #ff0000;">'
<span style="color: #000000;">
using l_sal;
<span style="color: #0000ff;">commit
<span style="color: #000000;">;
<span style="color: #0000ff;">end
<span style="color: #000000;">;

<span style="color: #0000ff;">select <span style="color: #808080;">* <span style="color: #0000ff;">from <span style="color: #0000ff;">temp;

7.动态定义游标

() : ref cur msql; tbl_emp; curNOTFOUND; dbms_output.put_line(tbl_emp.empno tbl_emp.ename); ;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读