236.设置所有数字型字段的默认值

悠悠 2023-12-27 07:42 112阅读 0赞
  1. DECLARE hCForEach CURSOR GLOBAL
  2. FOR
  3. SELECT --前面部分是更新表中数据NULL的为0
  4. N'UPDATE '+QUOTENAME(o.name)
  5. +N' SET '+QUOTENAME(c.name)
  6. +N'=0 WHERE '+QUOTENAME(c.name)
  7. +N' IS NULL
  8. --设置默认值处理
  9. ALTER TABLE '+QUOTENAME(o.name)
  10. +N' ADD DEFAULT 0 FOR '+QUOTENAME(c.name)
  11. FROM sysobjects o,syscolumns c,systypes t
  12. WHERE o.id=c.id
  13. AND OBJECTPROPERTY(o.id,N'IsUserTable')=1
  14. AND c.xusertype=t.xusertype
  15. AND(t.name IN(N'decimal','numeric','real','float')
  16. OR t.name LIKE '%money'
  17. OR t.name LIKE '%int')
  18. AND c.status<>0x80 --标识列(IDENTITY)不能设置
  19. AND NOT EXISTS( --已经设置了默认值的不再设置
  20. SELECT * FROM syscomments
  21. WHERE id=c.cdefault)
  22. EXEC sp_MSforeach_Worker @command1=N'?'

发表评论

表情:
评论列表 (有 0 条评论,112人围观)

还没有评论,来说两句吧...

相关阅读