• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    sqlserver对字段的添加修改删除、以及字段的说明
    复制代码 代码如下:

    --新增表字段
    ALTER procedure [dbo].[sp_Web_TableFiled_Insert]
    (
    @TableName varchar(100),
    @FieldName varchar(100),
    @FieldExplain varchar(200),
    @DataType varchar(100),
    @ConnectTableName varchar(100),
    @FieldLength int,
    @NewsID int output
    )
    as
    begin transaction mytran
    declare @errorSum int
    if not exists (SELECT * FROM syscolumns where id=object_id(@TableName) AND name=@FieldName)
    begin
    insert tb_TableField
    (
    TableName,
    FieldName,
    FieldExplain,
    DataType,
    ConnectTableName,
    FieldLength,
    UserSetSign
    )
    values
    (
    @TableName,
    @FieldName,
    @FieldExplain,
    @DataType,
    @ConnectTableName,
    @FieldLength,
    '1'
    )
    declare @sql varchar(8000)
    --判断类型
    if(@DataType='decimal')
    begin
    set @sql = 'alter table ' + @TableName +' add ' + @FieldName +' ' + @DataType +'(' +Convert(varchar,@FieldLength)+',2'+')'
    end
    else if(@DataType='varchar')
    begin
    set @sql = 'alter table ' + @TableName +' add ' + @FieldName +' ' + @DataType +'(' +Convert(varchar,@FieldLength)+')'
    end
    else
    begin
    set @sql = 'alter table ' + @TableName +' add ' + @FieldName +' ' + @DataType
    end
    exec(@sql)
    EXECUTE sp_addextendedproperty N'MS_Description', @FieldExplain, N'user', N'dbo', N'Table', @TableName, N'column' , @FieldName;
    set @errorSum=@errorSum+@@error
    set @NewsID=0;
    end
    else
    begin
    set @NewsID=1;
    end
    if(@errorSum>0)
    begin
    rollback tran
    end
    else
    begin
    commit tran mytran
    end
    --修改表字段
    ALTER procedure [dbo].[sp_Web_TableFiled_Update]
    (
    @TableName varchar(100),
    @FieldName varchar(100),
    @FieldExplain varchar(200),
    @DataType varchar(100),
    @ConnectTableName varchar(100),
    @FieldLength int,
    @ID int,
    @NewsID int output
    )
    as
    begin transaction mytran
    declare @fname varchar(100)
    declare @errorSum int
    --先取出表中以前的字段名称
    select @fname=FieldName from tb_TableField where ID=@ID
    declare @pstid int
    declare @sql varchar(8000)
    --再根据字段名称取出tb_PaySystemToLocation中对应的ID
    select @pstid=ID from tb_PaySystemToLocation where LocationField=@fname
    set @sql = 'sp_rename '+CHAR(39)+@TableName+'.['+@fname+']'+CHAR(39)+',' +char(39)+@FieldName+char(39)+',' + char(39)+'COLUMN' +CHAR(39)
    exec(@sql)
    update tb_TableField
    set TableName=@TableName,
    FieldName=@FieldName,
    FieldExplain=@FieldExplain,
    DataType=@DataType,
    ConnectTableName=@ConnectTableName,
    FieldLength=@FieldLength
    where ID=@ID
    --修改字段说明
    EXECUTE sp_updateextendedproperty N'MS_Description', @FieldExplain, N'user', N'dbo', N'Table', @TableName, N'column' , @FieldName;
    --EXEC sp_updateextendedproperty 'MS_Description',@FieldExplain,'user',dbo,'table',@TableName,'column',@FieldName
    set @NewsID=0;
    set @errorSum=@errorSum+@@error
    if(@@ERROR>0)
    begin
    rollback tran
    end
    else
    begin
    commit tran mytran
    end
    -删除表字段
    ALTER procedure [dbo].[sp_Web_TableFiled_Delete]
    (
    @ID int,
    @NewsID int output
    )
    as
    begin transaction mytran
    declare @fname varchar(100)
    declare @tablename varchar(100)
    declare @pstid int
    declare @sql varchar(8000)
    declare @errorSum int
    --取出字段名,表名
    select @fname=FieldName,@tablename=TableName from tb_TableField where ID=@ID
    --取出tb_PaySystemToLocation的ID
    select @pstid=ID from tb_PaySystemToLocation where LocationField=@fname
    delete from tb_TableField where ID=@ID
    set @sql='ALTER TABLE ' +@tablename+ ' DROP COLUMN '+ @fname
    exec(@sql)
    set @errorSum=@errorSum+@@error
    set @NewsID=0;
    if(@errorSum>0)
    begin
    rollback tran
    end
    else
    begin
    commit tran mytran
    end
    您可能感兴趣的文章:
    • SQLSERVER查询所有数据库名,表名,和字段名的语句
    • SQL Server 触发器 表的特定字段更新时,触发Update触发器
    • 解决SQL SERVER 2008数据库表中修改字段后不能保存
    • SQL Server中检查字段的值是否为数字的方法
    • SQL SERVER的字段类型说明
    • SQL Server 中调整自增字段的当前初始值
    • sqlserver对字段出现NULL值的处理
    • SQL Server数据库中的表名称、字段比较
    上一篇:动态SQL中返回数值的实现代码
    下一篇:SQL事务用法begin tran,commit tran和rollback tran的用法
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    sqlserver对字段的添加修改删除、以及字段的说明 sqlserver,对,字段,的,添加,