如题,其实是个典型的问题,网上查到的方法一般是动态拼接SQL语句执行,但现在我的SQL太长了,全部动态执行很难阅读,对于以后维护也很麻烦。
我有一个想法就是把动态的部分数据先查找出来,放到临时表或者游标什么的上面,或者是动态创建一个视图。但试过都不成功。不知道有没有人遇到过类似情况???又怎么样解决?
我有一个想法就是把动态的部分数据先查找出来,放到临时表或者游标什么的上面,或者是动态创建一个视图。但试过都不成功。不知道有没有人遇到过类似情况???又怎么样解决?
'where a='''||变量||''' and 其他字符串'||但是直接写的时候变量周围不需要引号也不需要||连接
sql_str := 'SELECT A.id '||chr(13)||
' A.name '||chr(13)||
' FROM A '||chr(13)||
' WHERE A.ID = '||chr(39)||变量1||||chr(39);
--这有什么不好读的?
begin
str_sql:=create table ||table_name||(||field1|| ||datatype1||,||field2|| ||datatype2||);
execute immediate str_sql; --动态执行DDL语句
exception
when others then
null;
end ;