我已经建立了两个dblink,如一个是@ab,一个是@cd,我想在存储过程中用一个通用的方式来引用这两个dblink,可以这样么:
ln varchar2;
ln='ab'
update table_1@ln可以这样来表示的么???急,请大侠们帮忙~~
ln varchar2;
ln='ab'
update table_1@ln可以这样来表示的么???急,请大侠们帮忙~~
解决方案 »
- 启动tomcat ,dos窗口直接闪断
- sql语句问题,急
- 面试时遇到两个oracle的问题,帮忙解答一下
- 紧急!请教各位高手oracle删除用户时报错:
- 新手提问,我安装好oracle817客户端后,怎样配置net assistant 连接到oracle服务器?
- 函数索引为什么没有起到作用,谢谢
- 请问:触发器为行级时, BEFORE 和 AFTER 有什么区别 ?
- oracle里能不能有sql server2000里的自动增长流水号的字段
- 菜鸟请教关于ORACLE的问题
- aix7.1 执行runcluvfy.sh报错
- Oracle上传图片问题
- 红旗 4.0下装了 oracle-xe-univ-10.2.0.1-1.0.i386.rpm 和 oracle-xe-client-10.2.0.1-1.0.i386.rpm ,找不到 proc 命令 ?
sqlstr := 'update table@'||ln||' set 子句'
execute immediate sqlstr;
t_sql varchar2(200);
ln:='ab';
t_sql:='update table_1@'||ln;
execute immdiate t_sql
我原来在存储过程这样写的:
update table_1@ln a
set a.xm='kk';
commit;那要改为这样了:
ln:='ab';
sqlstr := 'update table@'||ln||' set a.xm='kk''
execute immediate sqlstr;还需要commit语句么?
excute就是在做更新提交操作,不需要再加commit语句了。