创建存储过程。计算自定义字符串表达式。
初始化数据环境:
–建表
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-(13)’);
创建存储过程直接查询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;
/
社区地址:https://eco.dameng.com
文章
阅读量
获赞