gpt4 book ai didi

c# - SQL 将所有可为空的列转换为不可为空的列

转载 作者:行者123 更新时间:2023-11-30 21:53:38 28 4
gpt4 key购买 nike

我有一个包含 200 多张表的数据库。

现在我需要一个 SQL 脚本来查找并将所有“可空 Int”列转换为“不可空 Int”列(假设数据库为空)。

我知道可以一个一个手动完成

ALTER TABLE myTable 
ALTER COLUMN myColumn {DataType} NOT NULL DEFAULT(0)

但我认为应该有更好的方法来做到这一点,如果你能提出一个,那将是很大的帮助。

最佳答案

使用这个 SQL:

DECLARE @TableName NVARCHAR(255)
DECLARE @ColumnName NVARCHAR(255)

DECLARE @Cursor CURSOR
SET @Cursor = CURSOR FAST_FORWARD
FOR SELECT TABLE_NAME, COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'dbo' AND IS_NULLABLE = 'YES' AND DATA_TYPE = 'int'
OPEN @Cursor FETCH NEXT FROM @Cursor INTO @TableName, @ColumnName
WHILE @@FETCH_STATUS = 0
BEGIN
ALTER TABLE @TableName ALTER COLUMN @ColumnName INT NOT NULL DEFAULT(0)
FETCH NEXT FROM @Cursor INTO @TableName, @ColumnName
END
CLOSE @Cursor
DEALLOCATE @Cursor

关于c# - SQL 将所有可为空的列转换为不可为空的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33749048/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com