EXECUTE IMMEDIATE 一直报错(ORA-00900)

dmsdus 2016-08-02 05:10:10
execute immediate 'select * from T_EVENT';


就这一句,会报:
[SQL]execute immediate'select * from T_EVENT'
[Err] ORA-00900: invalid SQL statement

换其他insert语句也是一样。。
...全文
554 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
卖水果的net 2016-08-03
  • 打赏
  • 举报
回复
引用 3 楼 wildwave 的回复:
[quote=引用 2 楼 wmxcn2000 的回复:] execute immediate 必须放在一个pl/sql 块中执行; 另外:这个后面,你只能写 insert \ delete \ udpate ,不可以写 select
select是可以的,只是如果不用into,则不会执行,但不会报错 If dynamic_sql_statement is a SELECT statement, and you omit both into_clause and bulk_collect_into_clause, then execute_immediate_statement never executes.[/quote] 嗯
小灰狼W 2016-08-03
  • 打赏
  • 举报
回复
引用 2 楼 wmxcn2000 的回复:
execute immediate 必须放在一个pl/sql 块中执行; 另外:这个后面,你只能写 insert \ delete \ udpate ,不可以写 select
select是可以的,只是如果不用into,则不会执行,但不会报错 If dynamic_sql_statement is a SELECT statement, and you omit both into_clause and bulk_collect_into_clause, then execute_immediate_statement never executes.
卖水果的net 2016-08-02
  • 打赏
  • 举报
回复
execute immediate 必须放在一个pl/sql 块中执行; 另外:这个后面,你只能写 insert \ delete \ udpate ,不可以写 select
小灰狼W 2016-08-02
  • 打赏
  • 举报
回复
这个一个pl/sql语句,而不是sql语句 所以,改成 begin execute immediate 'select * from T_EVENT'; end; / 然后再执行

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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