oracle存储过程动sql语句,sql server、db2、oracle 存储过程动态sql语句示范

本文提供了Oracle、SQL Server和Db2数据库中创建动态SQL存储过程的示例,包括如何声明变量、构建动态SQL语句并执行。示例展示了在不同数据库中如何处理动态查询和参数传递。
摘要由CSDN通过智能技术生成

Oracle

CREATE OR REPLACE PROCEDURE a_test

AS

t_sql VARCHAR2(2000);

t_a VARCHAR2(20);

t_b VARCHAR2(20);

t_c VARCHAR2(20);

t_d VARCHAR2(20);

BEGIN

t_c := 'f';

t_d := 'g';

--这里可为insert 等任何sql语句.

t_sql := 'SELECT MAX(a), MAX(b) FROM t1 WHERE c = :tempC OR c = :tempD';

EXECUTE IMMEDIATE t_sql

INTO t_a, t_b --如果不需要查询赋值,这里不用写 INTO XXX语句.

USING t_c, t_d -- 如果不需要使用变量,不用写USING XXX语句.

;

END a_test

SQL Server

CREATE PROCEDURE a_test

AS

DECLARE @t_sql NVARCHAR(2000); --sql server 动态语句要申明为NVARCHAR类型.

DECLARE @t_a VARCHAR(20);

DECLARE @t_b VARCHAR(20);

DECLARE @t_c VARCHAR(20);

DECLARE @t_d VARCHAR(20);

BEGIN

SET t_c = 'f';

SET t_

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值