gpt4 book ai didi

sql - 更改数据库中每个表中所有小数列的精度

转载 作者:行者123 更新时间:2023-12-04 17:59:00 25 4
gpt4 key购买 nike

我有一个相当大的数据库,在很多表中有很多小数列,客户现在改变了主意,并希望所有数字(小数)的精度为 3 d.p。而不是原来的两个。有没有什么快速的方法可以浏览数据库中的所有表并将该表中的任何小数列更改为 3.d.p 而不是 2 d.p?

数据库在 sql 2005 上。

任何帮助都会很棒。

最佳答案

根据类型和比例从 information_schema 获取列,然后将它们更改为所需的比例。

declare @col sysname
declare @tbl sysname
declare @sql nvarchar(256)

declare crsFix cursor for
select table_name, Column_name from information_schema.columns
where data_type = 'decimal' and Numeric_Scale = 3
open crsFix
fetch next from crsFix into @tbl, @col
while(@@Fetch_Status = 0)
Begin
set @sql = 'Alter table [' + @tbl + '] alter column [' + @col + '] decimal(38,2) '
print @sql
exec sp_executesql @sql
fetch next from crsFix into @tbl, @col
End
close crsFix
deallocate crsFix

关于sql - 更改数据库中每个表中所有小数列的精度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2556107/

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