Определение поля формулы - PullRequest
2 голосов
/ 13 июля 2009

Ребята, я использую SQL Server 2000 и выполняю хранимую процедуру sp_columns, чтобы получить макет моей таблицы. Одним из моих полей является поле формулы, и мой вопрос, как я могу определить это через sp_columns? sp_columns не отображает эту информацию.

Заранее спасибо

Ответы [ 2 ]

2 голосов
/ 13 июля 2009

Вы можете вывести результаты sp_columns во временную таблицу, а затем добавить функцию ColumnProperty к результатам этого ...

create table #results(
    TABLE_QUALIFIER sysname,
    TABLE_OWNER sysname,
    TABLE_NAME sysname,
    COLUMN_NAME sysname,
    DATA_TYPE smallint,
    TYPE_NAME sysname,
    PRECISION int,
    LENGTH int,
    SCALE smallint,
    RADIX smallint,
    NULLABLE smallint,
    REMARKS varchar(254),
    COLUMN_DEF nvarchar(4000),
    SQL_DATA_TYPE smallint,
    SQL_DATETIME_SUB smallint,
    CHAR_OCTET_LENGTH int,
    ORDINAL_POSITION int,
    IS_NULLABLE varchar(254),
    SS_DATA_TYPE tinyint)

insert  #results
exec sp_columns 'MyTable'

select  IsComputed = ColumnProperty(object_id(table_owner + '.' + table_name), column_name, 'IsComputed'),
        *
from    #results
1 голос
/ 14 июля 2009
SELECT name FROM syscolumns where id IN(
SELECT ID FROM sysobjects where name = 'My Table' and xtype ='U')
and IsComputed = 1

Raj

...