如何使用sql server 2005语法指定数据库的名称以获取其表的名称

时间:2010-02-05 14:46:15

标签: sql database sql-server-2005

我需要在SQL Server 2005中编写一个查询来获取指定表的名称 数据库名称。所以我需要使用SQL Server 2005指定数据库名称的语法。

有没有人有任何想法?

3 个答案:

答案 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