zoukankan      html  css  js  c++  java
  • Sql动态添加字段的正确姿势

    如何给指定表动态添加字段?

    一、创建一张表【Tbl_AutoFileds】

    (tableName表名,fieldName字段名,dataType数据类型,length长度  isnull 是否允许为null)

    二、为【Tbl_AutoFileds】创建表触发器

    SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGO
    -- ============================================= -- Author:<作者> -- Create date: <20160320 Date,,> -- Description:<当表插入数据时向相应的表增加列>
    -- =============================================
    ALTER TRIGGER [dbo].[Filed_Auto] ON [dbo].[Tbl_AutoFileds] for insert AS DECLARE@tb_Name varchar(50), @coloun varchar(50), @datatype varchar(50), @length varchar(1000), @isnull varchar(10), @sql varchar(200)BEGINSET NOCOUNT ON; select @tb_Name=tabld_name,@coloun=fieldName,@datatype=datatype,@length=[length],@isnull=[isnull] from inserted if not exists (select * from syscolumns where id=object_id(@tb_Name) and name=@coloun) begin set @sql='ALTER table '+@tb_Name+' add '+@coloun+' '+@datatype+'('+@length+') '+@isnull exec (@sql) end


    三、向表添加内容,同时向对应表增加列

    插入内容到Tbl_AutoFields表会促发触发器,从而向指定表中动态添加了字段:

    Insert into Tbl_AutoFields values('Tbl_Test','MyField','nvarchar','200','null');

    我们向Tbl_Test表中添加了数据类型为nvarchar(200)的字段MyField.

    推荐技术类微信公众号:CodeL

  • 相关阅读:
    Shodan在渗透测试及漏洞挖掘中的一些用法
    QUdpSocket 简单用法
    用QT操作数据库(本周学的)
    Qt使用UDp通信、套接字socket的成员函数bind()的作用
    ppm的含义
    数字的补数
    两数之和
    C++中的最大整数最小整数
    如何使用dockerfile将jar包生成镜像
    python3解决 json.dumps中文乱码
  • 原文地址:https://www.cnblogs.com/codelir/p/5300675.html
Copyright © 2011-2022 走看看