DB2

推荐列表 站点导航

当前位置:首页 > 数据库 > DB2 >

不用写USING XXX语句.;END a_test2;/SQL Server CREATE PROCEDURE a_t

来源:网络  作者:网友投稿  发布时间:2021-01-13 14:30
OracleCREATEORREPLACEPROCEDUREa_testASt_sqlVARCHAR2(2000);t_aVARCHAR2(20);t_bVARCHAR2(20);t_cVARCHAR2(20);t_dVARCHAR2(20);BEGINt_c:= 39;f 39;;t_d:= 39;...

t_b --假如不需要查询赋值, t_d;END , @tempB = MAX(b) FROM t1 WHERE c = @tempC OR c = @tempD;--不行在EXECUTE SP_EXECUTESQL后边拼接字符串EXECUTE SP_EXECUTESQL @t_sql--假如不带参数,不消写USING XXX语句.;END a_test2;/SQL Server CREATE PROCEDURE a_testASDECLARE @t_sql NVARCHAR(2000); --sql server 动态语句要申明为NVARCHAR范例.DECLARE @t_aVARCHAR(20);DECLARE @t_bVARCHAR(20);DECLARE @t_cVARCHAR(20);DECLARE @t_dVARCHAR(20);BEGINSET @t_c = f;SET @t_d = g;--这里可为insert 等任何sql语句.SET @t_sql = SELECT @tempA = MAX(a),这里不消写 INTO XXX语句.USING t_c, t_d -- 同样假如不需要利用变量,不能换行., @t_c, t_b;CLOSE t_cur;END /*带游标返回的动态语句与普通语句一样, MAX(b) FROM t1 WHERE c = :tempC OR c = :tempD;EXECUTE IMMEDIATE t_sqlINTO t_a,,@t_a OUT, Oracle CREATE OR REPLACE PROCEDURE a_testASt_sql VARCHAR2(2000);t_aVARCHAR2(20);t_bVARCHAR2(20);t_cVARCHAR2(20);t_dVARCHAR2(20);BEGINt_c := f;t_d := g;--这里可为insert 等任何sql语句.t_sql := SELECT MAX(a),其范例为 statement.DECLARE t_cur CURSOR FOR t_stmt;SET t_c = f;SET t_d = g;--这里可为insert 等任何sql语句.SET t_sql = SELECT MAX(a), MAX(b) FROM t1 WHERE c = :tempC OR c = :tempD;--我今朝在这里没找到其它方法来替代。

N@tempA VARCHAR(20) OUT。

@tempD VARCHAR(20)-- 参数值. 传入变量的顺序要与申明变量的顺序一致, @t_b OUT, @tempB VARCHAR(20) OUT,以下申明变量及传入参数都不需要写.--申明变量范例及进出参.必需一行写完, @t_d;ENDGO--sql server返回游标与普通的语句一样,要申明返回范例的游标而且在begin要害字之前需要插入:DYNAMIC RESULT SETS 1LANGUAGE SQL*/CREATE PROCEDURE a_test2(v_cVARCHAR(20))DYNAMIC RESULT SETS 1LANGUAGE SQLBEGINDECLARE t_sql VARCHAR2(2000);DECLARE t_a VARCHAR2(20);DECLARE t_b VARCHAR2(20);DECLARE t_c VARCHAR2(20);DECLARE t_d VARCHAR2(20);-- FOR 后边的t_stmt要与下边的 prepare后的变量一致, MAX(b) FROM t1 WHERE c = :tempC OR c = :tempD;PREPARE t_stmt FROM t_sql;OPEN t_cur--假如不需要利用变量,直接将t_sql赋值成 select * from XXX 即可. Db2CREATE PROCEDURE a_test(v_cVARCHAR(20))BEGINDECLARE t_sql VARCHAR2(2000);DECLARE t_a VARCHAR2(20);DECLARE t_b VARCHAR2(20);DECLARE t_c VARCHAR2(20);DECLARE t_d VARCHAR2(20);-- FOR 后边的t_stmt要与下边的 prepare后的变量一致, t_d -- 假如不需要利用变量,只是申明游标时, t_d;FETCH t_cur INTO t_a。

只能利用游标读取:PREPARE t_stmt FROM t_sql;OPEN t_cur--假如不需要利用变量,其范例为 statement.DECLARE t_cur CURSOR WITH RETURN FOR t_stmt;SET t_c = f;SET t_d = g;--这里可为insert 等任何sql语句.SET t_sql = SELECT MAX(a)。

不消写USING XXX语句.;END a_test;/ --带返回游标的动态执行语句.CREATE OR REPLACE PROCEDURE a_test2(o_cursor OUT SYS_REFCURSOR)ASt_sql VARCHAR2(2000);t_aVARCHAR2(20);t_bVARCHAR2(20);t_cVARCHAR2(20);t_dVARCHAR2(20);BEGINt_c := f;t_d := g;--这里可为insert 等任何sql语句.t_sql := SELECT * FROM t1 WHERE c = :tempC OR c = :tempD;OPEN o_cursor FOR t_sqlUSING t_c,不消写USING XXX语句.USING t_c, @tempC VARCHAR(20),不消写USING XXX语句.USING t_c,。

相关热词:

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!

本文地址: https://v30.fanwenzhu.com/sql/db2/12532.shtml

Copyright © www.juheyunku.com      关于 | 合作 | 声明 | 联系 | 更新 | 地图 | Tags

不用写USING XXX语句.;END a_test2;/SQL Server CREATE PROCEDURE a_t

2021-01-13 编辑:网友投稿

t_b --假如不需要查询赋值, t_d;END , @tempB = MAX(b) FROM t1 WHERE c = @tempC OR c = @tempD;--不行在EXECUTE SP_EXECUTESQL后边拼接字符串EXECUTE SP_EXECUTESQL @t_sql--假如不带参数,不消写USING XXX语句.;END a_test2;/SQL Server CREATE PROCEDURE a_testASDECLARE @t_sql NVARCHAR(2000); --sql server 动态语句要申明为NVARCHAR范例.DECLARE @t_aVARCHAR(20);DECLARE @t_bVARCHAR(20);DECLARE @t_cVARCHAR(20);DECLARE @t_dVARCHAR(20);BEGINSET @t_c = f;SET @t_d = g;--这里可为insert 等任何sql语句.SET @t_sql = SELECT @tempA = MAX(a),这里不消写 INTO XXX语句.USING t_c, t_d -- 同样假如不需要利用变量,不能换行., @t_c, t_b;CLOSE t_cur;END /*带游标返回的动态语句与普通语句一样, MAX(b) FROM t1 WHERE c = :tempC OR c = :tempD;EXECUTE IMMEDIATE t_sqlINTO t_a,,@t_a OUT, Oracle CREATE OR REPLACE PROCEDURE a_testASt_sql VARCHAR2(2000);t_aVARCHAR2(20);t_bVARCHAR2(20);t_cVARCHAR2(20);t_dVARCHAR2(20);BEGINt_c := f;t_d := g;--这里可为insert 等任何sql语句.t_sql := SELECT MAX(a),其范例为 statement.DECLARE t_cur CURSOR FOR t_stmt;SET t_c = f;SET t_d = g;--这里可为insert 等任何sql语句.SET t_sql = SELECT MAX(a), MAX(b) FROM t1 WHERE c = :tempC OR c = :tempD;--我今朝在这里没找到其它方法来替代。

N@tempA VARCHAR(20) OUT。

@tempD VARCHAR(20)-- 参数值. 传入变量的顺序要与申明变量的顺序一致, @t_b OUT, @tempB VARCHAR(20) OUT,以下申明变量及传入参数都不需要写.--申明变量范例及进出参.必需一行写完, @t_d;ENDGO--sql server返回游标与普通的语句一样,要申明返回范例的游标而且在begin要害字之前需要插入:DYNAMIC RESULT SETS 1LANGUAGE SQL*/CREATE PROCEDURE a_test2(v_cVARCHAR(20))DYNAMIC RESULT SETS 1LANGUAGE SQLBEGINDECLARE t_sql VARCHAR2(2000);DECLARE t_a VARCHAR2(20);DECLARE t_b VARCHAR2(20);DECLARE t_c VARCHAR2(20);DECLARE t_d VARCHAR2(20);-- FOR 后边的t_stmt要与下边的 prepare后的变量一致, MAX(b) FROM t1 WHERE c = :tempC OR c = :tempD;PREPARE t_stmt FROM t_sql;OPEN t_cur--假如不需要利用变量,直接将t_sql赋值成 select * from XXX 即可. Db2CREATE PROCEDURE a_test(v_cVARCHAR(20))BEGINDECLARE t_sql VARCHAR2(2000);DECLARE t_a VARCHAR2(20);DECLARE t_b VARCHAR2(20);DECLARE t_c VARCHAR2(20);DECLARE t_d VARCHAR2(20);-- FOR 后边的t_stmt要与下边的 prepare后的变量一致, t_d -- 假如不需要利用变量,只是申明游标时, t_d;FETCH t_cur INTO t_a。

只能利用游标读取:PREPARE t_stmt FROM t_sql;OPEN t_cur--假如不需要利用变量,其范例为 statement.DECLARE t_cur CURSOR WITH RETURN FOR t_stmt;SET t_c = f;SET t_d = g;--这里可为insert 等任何sql语句.SET t_sql = SELECT MAX(a)。

不消写USING XXX语句.;END a_test;/ --带返回游标的动态执行语句.CREATE OR REPLACE PROCEDURE a_test2(o_cursor OUT SYS_REFCURSOR)ASt_sql VARCHAR2(2000);t_aVARCHAR2(20);t_bVARCHAR2(20);t_cVARCHAR2(20);t_dVARCHAR2(20);BEGINt_c := f;t_d := g;--这里可为insert 等任何sql语句.t_sql := SELECT * FROM t1 WHERE c = :tempC OR c = :tempD;OPEN o_cursor FOR t_sqlUSING t_c,不消写USING XXX语句.USING t_c, @tempC VARCHAR(20),不消写USING XXX语句.USING t_c,。

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供学习参考!
本文地址为 https://v30.fanwenzhu.com/sql/db2/12532.shtml

相关文章

风云图片

推荐阅读

返回DB2频道首页