2009-07-13 7 views
2

皆さん、SQL Server 2000を使用してsp_columnsストアドプロシージャを実行して、テーブルのレイアウトを取得しています。私のフィールドの1つは数式フィールドで、私の質問は、どうすればsp_columnsでこれを判断できますか? sp_columnsはこの情報を表示していないようです。事前に数式フィールドの決定

おかげ

答えて

2

あなたは一時テーブルに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
SELECT name FROM syscolumns where id IN(
SELECT ID FROM sysobjects where name = 'My Table' and xtype ='U') 
and IsComputed = 1 

ラジ

関連する問題