动态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 dept2.从动态语句检索值(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); ;(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |