2009-07-13 6 views
2

Guys, j'utilise SQL Server 2000 et l'exécution de la procédure stockée sp_columns pour obtenir une disposition de ma table. Un de mes champs est un champ de formule et ma question est, comment puis-je déterminer cela à travers sp_columns? sp_columns ne semble pas montrer cette information.Détermination champ de formule

Merci à l'avance

Répondre

2

Vous pouvez vider les résultats de sp_columns à une table temporaire, puis ajouter la fonction ColumnProperty aux résultats de cette ...

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 

Raj

Questions connexes