zoukankan      html  css  js  c++  java
  • 给多个表批量添加一列并赋予默认值

    目的:给ck_库存台帐XX 添加一列 发生日期 默认值  (((2000)-(1))-(1))   

    虽然写出来sql语句,但是最后我还是手动的一张张表去手动添加的,因为怕有问题,不过我本地测试是没有问题的,毕竟是要更新客户那边的数据库,不敢乱来

    DECLARE test_cursor CURSOR SCROLL FOR
    SELECT Name FROM SYSOBJECTS WHERE TYPE='U' AND name like 'ck_库存台帐%' and name <> 'ck_库存台帐' and name <> 'ck_库存台帐临时' and name <> 'ck_库存台帐摸板'
    --打开游标test_cursor
    OPEN test_cursor
    --定义变量@dh,用来存储读取后的字段内容
    DECLARE @dh varchar(18)
    --循环游标将数据库中相应字段内容放到@dh,这里要于select语句后的字段位置要对应
    FETCH NEXT FROM test_cursor INTO @dh
    --开始循环
    WHILE @@FETCH_STATUS=0
    BEGIN
    --PRINT @dh 

    exec ('ALTER TABLE ' +@dh+ ' add 发生日期 datetime')
    exec ('ALTER TABLE ' +@dh+ ' ADD CONSTRAINT [DF_'+@dh+'_发生日期] DEFAULT (((2000)-(1))-(1)) FOR [发生日期]')
    FETCH NEXT FROM test_cursor INTO @dh
    END
    --关于游标test_cursor
    CLOSE test_cursor
    --释放掉test_cursor所用的内存空间
    DEALLOCATE test_cursor

  • 相关阅读:
    canvas制作倒计时炫丽效果
    MySQL存储过程
    SpringMVC入门
    JAVA面试/笔试经典题
    JAVA内存存储分配粗略讲解
    数据结构算法总结
    稳定排序
    Java集合框架
    Java笔试题及答案
    面向接口
  • 原文地址:https://www.cnblogs.com/hrx-star/p/4568427.html
Copyright © 2011-2022 走看看