首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

怎么动态设置当前数据库(SQL2000)

2013-07-01 
如何动态设置当前数据库(SQL2000)正常情况下可以用: USE xxxx 来设置当前数据库但当数据库名是一个变量的

如何动态设置当前数据库(SQL2000)
正常情况下可以用: USE xxxx 来设置当前数据库

但当数据库名是一个变量的话,该怎么做?

USE [master]

DECLARE @dbname SYSNAME
SELECT @dbname = N'testdb'

IF DB_ID(@dbname) IS NOT NULL        --这里执行成功
    EXEC('DROP DATABASE ' + @dbname) --这里执行成功

EXEC('CREATE DATABASE ' + @dbname)   --这里执行成功

EXEC('USE ' + @dbname) --这里执行没反应

--下面这个表,建在master表上面了
CREATE TABLE testtable([ID] INT IDENTITY(1, 1) PRIMARY KEY, test VARCHAR(10))


那究竟要怎么动态设置当前数据库的?
[解决办法]
拼查询语句,查询的时候指定:数据库名.架构名.表名
[解决办法]
引用:
我要插入70多个表,每个表有约束、索引、关系等信息,
难道这些都要用 EXEC 来执行吗?那代码写出来又麻烦又累赘
就没有别的方法可以直接动态设置当前数据库的吗?

还有设置用户的时候应该用什么方法?


动态设置USE DATABASE 这个是不行的。 

热点排行