我把语句存在字段中,怎么才能执行字段中的语句?

cdisk 2010-07-25 01:55:26
我把一些查询语句存到了字段中, 怎么才能把这些字段中的语句执行啊~?
...全文
105 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
chooseforget 2010-07-26
  • 打赏
  • 举报
回复
mark
zjhiphop2006 2010-07-25
  • 打赏
  • 举报
回复
declare str varchar2(100);
begin
select COL1 into str from test;
execute immediate ''||str||'';
end;

这样试试!
cnwz 2010-07-25
  • 打赏
  • 举报
回复
如果是INSERT、UPDATE、DELETE等语句,直接动态执行就可以了
如果是SELECT语句,并且已知结果只有一个字段、一个值,应该:immediate execute str INTO V_STR; V_STR是本地变量
duanzhi1984 2010-07-25
  • 打赏
  • 举报
回复
动态执行语句。就像SQL中的一样


--命令是:
declare str varchar2(1000);
begin
str:='select *from v$datafile';
immediate execute str;
end;
minitoy 2010-07-25
  • 打赏
  • 举报
回复

应该是execute immediate
huangyunzeng2008 2010-07-25
  • 打赏
  • 举报
回复
动态sql!
tangren 2010-07-25
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 cdisk 的回复:]

有 COL1 里的语句一般是别的表,~ 比如可能是select a from t where id=10 取出来只有一个值 就相当于给这个字段的动态值

有很多个这样的字段,~
[/Quote]

不能用一个一条SQL语句查询并执行字段中的SQL
只能用pl/sql去写一段代码去动态执行,如1楼
cdisk 2010-07-25
  • 打赏
  • 举报
回复
有 COL1 里的语句一般是别的表,~ 比如可能是select a from t where id=10 取出来只有一个值 就相当于给这个字段的动态值

有很多个这样的字段,~
luoyoumou 2010-07-25
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 cdisk 的回复:]
TEST表
ID COL1
1 select '10' from dual
2 select '20' from dual
3 select '30' from dual

这样的表结构中的 col1字段的语句如何查询出来啊 ,~

我是想直接写成一句的select id,(col1) from TEST 这里的col1怎么写啊 immediate execute 这个好像不行啊……
[/Quote]

-- 查询语句有什么规律?都是从同一张表中取数据吗?所取的字段都一样吗?
cdisk 2010-07-25
  • 打赏
  • 举报
回复
TEST表
ID COL1
1 select '10' from dual
2 select '20' from dual
3 select '30' from dual

这样的表结构中的 col1字段的语句如何查询出来啊 ,~

我是想直接写成一句的select id,(col1) from TEST 这里的col1怎么写啊 immediate execute 这个好像不行啊
vber1010 2010-07-25
  • 打赏
  • 举报
回复
declare
str varchar2(1000);
begin
select zd into str from t;
immediate execute str;
end;

3,491

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧