标题:怎么能在过程或者触发器中实现跨数据库操作?
只看楼主
入门中
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2005-6-9
 问题点数:0 回复次数:4 
怎么能在过程或者触发器中实现跨数据库操作?
请问给位高手,怎么能在过程或者触发器中实现跨数据库操作,简言之就是怎么弄在过程或者触发器中使用USE与这个语句
   在这里我先谢谢各位了
搜索更多相关主题的帖子: 数据库 触发器 
2005-07-22 15:40
EA_Games
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:539
专家分:0
注 册:2005-3-13
得分:0 
存储过程和触发器中不允许使用USE,如果要跨数据库操作,可以使用所有者的概念。例如

CREATE  PROCEDURE proc_test
AS
 
      select * from test..t_Test           --test是数据库名,t_Test是表名,记得中间有两个点
 
      select  * from test1..t_Test1      --test1是数据库名,t_Test1是表名,记得中间有两个点

GO

2005-07-22 20:37
入门中
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2005-6-9
得分:0 
那怎么才能做到替换呢 比如说
DECLARE @TEXT VARCHAR(20)
SET @TEXT='DBNAME'
SELECT * FROM @TEXT
用什么方法能让这个语句执行呢?也就是说SQL中的宏替换问题
谢谢

2005-07-25 08:45
EA_Games
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:539
专家分:0
注 册:2005-3-13
得分:0 
确实没用过宏替换,有点看不懂,能不能再说详细点。

2005-07-27 22:55
入门中
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2005-6-9
得分:0 
解决了  用EXECUTE (@TEXT)就可以了  哈哈 谢谢大家了

2005-08-26 09:15



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-23419-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.232140 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved