t-sql - 为类中的 View 创建从表名称获取设置属性

标签 t-sql fetch

下面的代码是 T-SQL 中的一个快速脚本,它构建在 CLASS 中使用的 Get Set 属性:

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

如果您可以添加或清理它,那就太好了!

更新 下面的代码可以运行,我做了一些轻微的修改。

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

最佳答案

你可以摆脱光标并缩短它很多

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 
                        + ' ' + COLUMN_NAME + ' { get; set; }'
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'Members'

PRINT @Script

关于t-sql - 为类中的 View 创建从表名称获取设置属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5851802/

相关文章:

sql - 如何在 OUTER APPLY 查询中将 varchar 转换为 XML

sql - 如何在 SQL Server 中显示获取参数值的对话框?

sql - MS SQL Server 函数性能问题

javascript - 我应该在 react 组件或 redux Action 中获取数据吗?

android - 网络请求失败在 https 图像上传 Android 上做出 native react

javascript - 如何提高 fetch api JSON 下载速度或加载图标?

sql-server - 计算连续记录数

sql - 非常简单的 sybase sql 函数将无法工作

javascript - 获取 blob javascript 的进度

javascript - 如何使用 rn-fetch-blob 发送 POST 请求来下载文件?