Transact SQL - просмотр вопроса о типе данных - PullRequest
0 голосов
/ 11 июля 2011

Я работаю над проектом автоматической синхронизации, где хочу получить типы данных из представления в SQL Server 2008 R2 и сравнить их с таблицей в той же базе данных.Я знаком с syscolumns, однако, похоже, что это работает только с таблицами, а не с представлениями.Любые предложения или ссылки будут с благодарностью.

По сути, если к View_A добавлен новый столбец, мне нужно добавить столбец к Table_A с теми же свойствами, что и View_A, чтобы все типы данных, длины и поля в Table_A всегда были такими же, как View_A.

Спасибо

Ответы [ 3 ]

1 голос
/ 12 июля 2011

Я не уверен, что syscolumns показывает только столбцы базовых таблиц, но вы можете использовать этот запрос:

SELECT *
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'YourView'
0 голосов
/ 12 июля 2011

Столбцы в sys.columns предназначены как для представлений, так и для таблиц.

Таким образом, вы должны иметь возможность сделать то же самое, что и таблица, т.е.

SELECT *
FROM sys.columns
WHERE object_id = OBJECT_ID('MyViewName')
0 голосов
/ 12 июля 2011

sys.columns включает информацию столбца для представлений:

CREATE VIEW dbo.Test_View
AS
SELECT * FROM sys.objects

SELECT *
FROM sys.columns
WHERE object_id = OBJECT_ID('dbo.Test_View')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...