刚开始用PLSQL,好多问题啊!1、如何通过字符串变量构造一个SQL语句,然后调用EXECUTE执行,请写个简单例子,如果能结合下面的问题写最好。2、对于类似in ('aaa','bbb','ccc','ddd')的语句,其中的('aaa','bbb','ccc','ddd')是不是要定义成专门的类型。如何定义和赋值?如何定义这种类型的数组?3、我写如下的命令(示意)
a:=1000;
s:='select * from table where aa=a';
execute s;
其中的a能够被正确初始化么?
a:=1000;
s:='select * from table where aa=a';
execute s;
其中的a能够被正确初始化么?
PL/SQL DEVELOPER这个工具不错
in固定的话就用固定值,如果是符合某个条件的,就用exists来做了。
声明varchar2类型的变量,构造sql
excute immediately sql 就可以了。
ls_s VARCHAR2(100);ls_a := 'aaaa'
ls_s := 'select * from table where aa='||ls_a
excute immediately ls_s;
我需要类似一个数组
(('aaa','bbb'),('aaa','ccc','ddd'),...('eee'...))
可以替换为
instr('aaa,bbb,ccc,ddd',your_col)>0
虽然稍微损失些效率……