查看下面的代碼是在T-SQL的快速腳本建立獲取一類使用設置屬性:創建表名稱獲取設置屬性爲
DECLARE @COLUMN_NAME varchar(250)
DECLARE @DATA_TYPE varchar(250)
DECLARE c1 CURSOR FOR
select COLUMN_NAME, DATA_TYPE from information_schema.columns
where table_name = 'Members'
OPEN c1
FETCH NEXT FROM c1 INTO @COLUMN_NAME, @DATA_TYPE
WHILE @@FETCH_STATUS = 0
BEGIN
IF @DATA_TYPE = 'nvarchar'
BEGIN
SET @DATA_TYPE = 'string'
END
IF @DATA_TYPE = 'ntext'
BEGIN
SET @DATA_TYPE = 'string'
END
IF @DATA_TYPE = 'datetime'
BEGIN
SET @DATA_TYPE = 'DateTime'
END
PRINT 'public ' + @DATA_TYPE + ' ' + @COLUMN_NAME + ' { get; set; }'
FETCH NEXT FROM c1 INTO @COLUMN_NAME, @DATA_TYPE
END
CLOSE c1
DEALLOCATE c1
GO
,如果你可以給它添加或清理它,這將是偉大的!
UPDATE 下面的代碼工作,我做了一些細微的修改。
DECLARE @Script NVARCHAR(MAX) = ''
SELECT @Script = @Script + '
public ' + CASE WHEN DATA_TYPE IN ('nvarchar','ntext') THEN 'string'
WHEN DATA_TYPE = 'datetime' THEN 'DateTime'
ELSE DATA_TYPE
END
+ ' '
+ upper(substring(COLUMN_NAME,1,1))+
+ lower(substring(COLUMN_NAME,2,499))
+ ' { get; set; }'
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'SubCategory'
PRINT @Script
尼斯縮短了不少。我懶得發起SSMS來完成它; p和+1特別用於修復信息模式表中的外殼 - 在區分大小寫模式下很痛苦,否則。 – 2011-05-01 22:40:03
喜歡它!好的一塊乾淨的編碼和易於遵循。做得好! – 2011-05-02 13:47:23