Merge into tablename
using (datasource)
on ()
...
...语句中是否可以使用外部变量?
using (datasource)
on ()
...
...语句中是否可以使用外部变量?
解决方案 »
- sql loader能不能在参数里传某个字段的值
- 一个关于还原数据库的问题
- sqlserver里的存储过程改成oracle的给举个例子,和说明需要注意的地方
- 如何在使用自己的函数来建立函数索引
- Oracle怎样配置一个客户机/服务器环境,客户机需要安装什么软件,服务器需要安装什么软件,需要开什么服务?
- oracle 不好用了,帮忙一下.
- 求助高手:用vc连接oracle,使用的是ado ,如何能够实现自动判断与数据库是否连接正常,从而实现处理!
- vb向oracle插入数据
- ORACLE性能方面的问题
- 显示所有数据库的问题
- java oracle 存储过程
- 请各位使用过Oracle9i全文检索功能的大虾,帮兄弟一个忙
在動態sql里面這些肯定是可以的。
-- ----------
2 2
3 2
1 2SQL> select * from bb;ID NAME
-- ----------
1
2 create procedure pro(p_old in varchar2,p_new in varchar2)
as
begin
merge into aa
using(select * from bb)
on (a.id=b.id)
when matched then
update set name=p_old
when not matched then
insert into values(a.id,p_new);
end;
/begin
pro('4','new');
end;
/
我测试过在update和insert部分是可以的,但在using (select .. from .. where --这里用外部变量就出错?),是不是就where后面不能使用外部变量?!!
http://gigabase.idi.ntnu.no/oradoc/server.901/a90125/statements_916.htm#2080942
可以的,是否楼主对应类型搞错了,请细心检查