Microsoft.SqlServer.TransactSql.ScriptDom: TSqlTokenType

При разборе SQL-запроса, например:

SELECT g.A, g.B, g.C FROM dbo.Goat g inner join dbo.Badger b on g.A=b.A

и итерация через TSqlParserToken есть свойство под названием TokenType. Я получаю следующее:

SELECT   Select
     WhiteSpace
g    Identifier
.    Dot
A    Identifier
,    Comma
     WhiteSpace
g    Identifier
.    Dot
B    Identifier
,    Comma
     WhiteSpace
g    Identifier
.    Dot
C    Identifier
     WhiteSpace
FROM     From
     WhiteSpace
dbo  Identifier
.    Dot
Goat     Identifier
     WhiteSpace
g    Identifier
     WhiteSpace
inner    Inner
     WhiteSpace
join     Join
     WhiteSpace
dbo  Identifier
.    Dot
Badger   Identifier
     WhiteSpace
b    Identifier
     WhiteSpace
on   On
     WhiteSpace
g    Identifier
.    Dot
A    Identifier
=    EqualsSign
b    Identifier
.    Dot
A    Identifier 

Я понимаю, что для того, чтобы синтаксический анализатор возвратил эти значения, он должен иметь представление о базовой схеме. Можно ли мне передать синтаксический анализатор базовыми объектами, чтобы он мог возвращать более осведомленный набор токенов?

Перечисление TSqlTokenType также имеет такие значения, как "Таблица", "Схема", "Вид", поэтому я уверен, что это должно быть возможно. Просто документации мало. Дэн

0 ответов

Другие вопросы по тегам