Получение информации об атрибутах таблицы из скрипта TSQL
Мне нужно получать информацию об атрибутах таблицы (имя, тип, null/not null, constraints) из CREATE TABLE скрипта, но я так и не смог найти никаких библиотек или фреймворков для этого. Есть ли какие то способы это сделать без ручного парсинга?
Моя программа не использует базу данных. Информация об атрибутах должна получаться из самого текста скрипта.
Например из следующего скрипта
CREATE TABLE [dbo].[person](
[id] [int] NOT NULL ,
[Name] [VARCHAR](1) NULL,
[fk] [int] NULL,
CONSTRAINT [PK_person] PRIMARY KEY CLUSTERED ([id])
)
Должна быть получена примерно такая информация. (для примера, чтобы было понятнее)
Table table.name = ParseResult.TableName; //"person"
Attribute a0 = ParseResult.Attr[0]; //Attribute{"id", "int" "NOT NULL", "PK"}
Attribute a1 = ParseResult.Attr[1];
Attribute a2 = ParseResult.Attr[2];
Ответы (1 шт):
Парсить семантику скрипта - сложное и неблагодарное дело.
По советам из комментариев создал локальную базу, после чего выполняю на ней скрипт и получаю информацию о созданных сущностях через системные таблицы.