oracle中如何将表名与字符串拼接查询

yj734653690 2016-07-19 11:07:19
kk09@dkk_v_yab139 kk09是一个表 拼接的 字符串是 v_yab139 拼接上就报错
...全文
3449 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
yj734653690 2016-07-21
  • 打赏
  • 举报
回复
@14982
execute immediate 'select count(*) into n_count from kk09@dkk_'||v_yab139 where yac005=v_yac005
ORA-06550: 第 39 行, 第 85 列:
PLS-00103: 出现符号 "WHERE"在需要下列之一时:
. ( * @ % & = - + ; < / >
at in is mod remainder not rem return returning
<an exponent (**)> <> or != or ~= >= <= <> and or like like2
like4 likec between into using || bulk member submultiset
voge_ge 2016-07-21
  • 打赏
  • 举报
回复
引用 5 楼 yj734653690 的回复:
@14982 execute immediate 'select count(*) into n_count from kk09@dkk_'||v_yab139 where yac005=v_yac005 ORA-06550: 第 39 行, 第 85 列: PLS-00103: 出现符号 "WHERE"在需要下列之一时: . ( * @ % & = - + ; < / > at in is mod remainder not rem return returning <an exponent (**)> <> or != or ~= >= <= <> and or like like2 like4 likec between into using || bulk member submultiset
execute immediate 'select count(*) into n_count from kk09@dkk_'||v_yab139||'where yac005=v_yac005'
yj734653690 2016-07-19
  • 打赏
  • 举报
回复
select * from kk09@dkk_v_yab139 差不多这个样子,动态语句怎么写?这个不太明白,在网上找了很多资料,没看出来门道。 v_yab139这个字符串是个动态值,拼起来查询就是错误的。求大神指教!!!
js14982 2016-07-19
  • 打赏
  • 举报
回复
表名拼接要用动态语句
js14982 2016-07-19
  • 打赏
  • 举报
回复
什么意思?你的查询语句呢? 该不会是 select * from kk09@dkk_v_yab139 ?
js14982 2016-07-19
  • 打赏
  • 举报
回复
execute immediate 'select * from kk09@dkk_'||v_yab139;
这样,你的固定的值在''里面,动态参数在外面,然后用||连接起来;

1,617

社区成员

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

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