注册
DM 存储过程中计算自定义字符串表达式
技术分享/ 文章详情 /

DM 存储过程中计算自定义字符串表达式

阳春白雪 2022/05/08 3019 0 0

创建存储过程。计算自定义字符串表达式。
初始化数据环境:
–建表
create table test_1(c1 int,c2 varchar(100));
–插入数据
insert into test_1 values(1,‘1+1’);
insert into test_1 values(2,‘13’);
insert into test_1 values(3,'1-(1
3)’);
创建存储过程直接查询c1+c2的值。

创建函数
CREATE OR REPLACE function addp_In_str(p_In_str varchar)
RETURN NUMBER
IS
v_RESULT NUMBER;
v_sql varchar(100);
BEGIN
– 拼动态 SQL.
v_Sql := ‘SELECT ’ || p_In_str || ’ FROM dual’;
– 执行动态 SQL, 并将结果存储到变量中.
EXECUTE IMMEDIATE (v_Sql) INTO v_RESULT ;
return v_RESULT;
– 返回.
– RETURN v_RESULT;
END ;
/
select addp_In_str(1+1);

创建存储过程
create or replace procedure strdef
as
a1 int;
a2 varchar(100);
a3 number;
cursor c1 for select * from test_1;
begin
open c1;
loop
fetch c1 into a1,a2;
a3:=addp_In_str(a2);
a3:=a3+addp_In_str(a1);
print ‘c1+c2=’ || a3;
exit when c1%notfound;
end loop;
close c1;
end;
/

image.png

社区地址:https://eco.dameng.com

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服