我要写一个存储过程,将同一个数据库中不用用户可见的表进行insert 操作,请问这与同一个数据库同一个用户的表之间进行insert 操作有什么区别?我用的是pl\sql.
比如我用A登陆pl\sql,能看到表table_A.但看不到表table_B.我用B登陆能够看到表table_B,但看不到table_A.现在我要写一个存储过程将table_B的数据插入到table_A中.请问应该怎么写?
比如我用A登陆pl\sql,能看到表table_A.但看不到表table_B.我用B登陆能够看到表table_B,但看不到table_A.现在我要写一个存储过程将table_B的数据插入到table_A中.请问应该怎么写?
具体方法:
登录A
create database link gisinfo connect to B identified by B using'gis9i';
其中gisinfo 是个数据库链接名 可以任意取
gis9i是sid这样你在写存储过程的时候
begin
........
end;insert update delete 是加上B@gis9i即可希望能帮到你!
gisinfo
如果是,你需要得到另外一个用户对应表的访问授权,然后操作的时候只要在前面加 "user_name." 就可以了
在c下建立一个存储过程,执行insert into userB.table_b select * from userA.table_a;既可。
A,B两个用户之间是不可能直接传递数据的,因为他们没有访问对方表的权限。
对table_b有insert权限就可以了
只要有权限就可以。
如果是不同的数据库,要建立dblink。
不同的数据库可以使用dblin..