我需要在SQL Server 2005中编写一个查询来获取指定表的名称 数据库名称。所以我需要使用SQL Server 2005指定数据库名称的语法。
有没有人有任何想法?
答案 0 :(得分:4)
use DatabaseName;
SELECT *
FROM Information_Schema.Tables
或者在连接字符串中指定数据库的名称并运行
SELECT *
FROM Information_Schema.Tables
或使用完全限定名称
SELECT *
FROM DatabaseName.Information_Schema.Tables
在你的情况下,试试这个
SELECT name As descriptionCommande from YOURDATABASENAME.sys.Views
OR
USE YOURDATABASENAME
SELECT name As descriptionCommande from sys.Views
答案 1 :(得分:1)
如果您的数据库是Northwind,例如
SELECT name FROM Northwind..sysobjects WHERE type='U'
答案 2 :(得分:0)
我可能错了,但听起来你想动态指定名称,在这种情况下你需要使用动态sql:
DECLARE @DatabaseName NVARCHAR(128)
SET @DatabaseName = 'DatabaseName'
-- Safety check to make sure the database is a valid db name
IF EXISTS(SELECT * FROM master..sysdatabases WHERE name = @DatabaseName)
BEGIN
DECLARE @nSQL NVARCHAR(200)
SET @nSQL = 'SELECT * FROM [' + @DatabaseName + '].INFORMATION_SCHEMA.TABLES'
EXECUTE sp_executesql @nSQL
END