Как указать имя базы данных, чтобы получить имя ее таблицы, используя синтаксис SQL Server 2005 - PullRequest
2 голосов
/ 05 февраля 2010

Мне нужно написать запрос в SQL Server 2005, чтобы получить имя таблицы указанного имя базы данных. Поэтому мне нужен синтаксис для указания имени базы данных с использованием SQL Server 2005.

У кого-нибудь есть идеи?

Ответы [ 3 ]

4 голосов
/ 05 февраля 2010
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 голос
/ 05 февраля 2010

Если ваша база данных Northwind, например

SELECT name FROM Northwind..sysobjects WHERE type='U'
0 голосов
/ 05 февраля 2010

Я могу ошибаться, но звучит так, как будто вы хотите указать имя динамически, в этом случае вам нужно использовать динамический 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...