Use XXX 语句疑问

haolihui9527 2008-07-08 12:11:34
怎么实现从一个数据库转到另一个数据库。如下:

Declare @DBName varchar(80)
Set @DBName='SDMS'
USE @DBName
。。。(一大堆复杂代码,涉及游标)

这样有语法错误。改为下面的

Declare @DBName varchar(80)
Set @DBName='SDMS'
Declare @UseSQL nvarchar(100)
Set @UseSQL='Use '+ @DBName
exec sp_executesql @UseSQL
。。。(一大堆复杂代码,涉及游标)
但USE语句只在EXEC语句中起作用。


我该怎么办?
...全文
46 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
hery2002 2008-07-08
  • 打赏
  • 举报
回复
Declare @DBName varchar(80) 
Set @DBName='SDMS'
Declare @UseSQL nvarchar(100)
Set @UseSQL='Use '+ @DBName +';' -- 加上';'
exec (@UseSQL)
-狙击手- 2008-07-08
  • 打赏
  • 举报
回复
比如:


declare @sql varchar(8000)

set @sql='create database '+@db
exec(@sql)

set @sql='use ' + @db + ' create table tb(id int) '
exec(@sql)
-狙击手- 2008-07-08
  • 打赏
  • 举报
回复
只能把所有的SQL放你这个SQL串中一起执行

无其它 办法

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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