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','','null');
我们向Tbl_Test表中添加了数据类型为nvarchar(200)的字段MyField.
推荐技术类微信公众号:CodeL
Sql动态添加字段的正确姿势的更多相关文章
- element动态添加表头的正确姿势
1. 第一步循环 el-table-column <el-table-column v-if="item.show" v-for="(item, index) in ...
- Sql 语句添加字段、修改字段类型、默认值语法
Sql 语句添加字段 ,) not null --修改类型 alter Table bbs ) Sql 语句修改默认值 alter table 表名 drop constraint 约束名字 --删除 ...
- Flutter Webview添加Cookie的正确姿势
场景 h5页面要从cookie里面取数据,所以需要在flutter webview的cookie里面塞一些数据,设置的数据多达十几条:按照网上查的使用方式来设置,通过fiddler抓包发现,只能生效一 ...
- 关于boostrapValidator动态添加字段(addField)验证的bug
每次码博客,都觉得自己怀才不遇,哎~脑袋有瑕疵,文笔拿不粗手,就直接上干货吧. 在使用boostrapValidator这个验证插件的时候,如果某一个字段是动态添加来的,我们需要调用方法:addFie ...
- Hive分区表动态添加字段
场景描述: 公司埋点项目,数据从接口服务写入kafka集群,再从kafka集群消费写入HDFS文件系统,最后通过Hive进行查询输出.这其中存在一个问题就是:埋点接口中的数据字段是变化,后续会有少量字 ...
- SQL Server 添加字段,修改字段类型,修改字段名,删除字段
-- 1.添加字段-- 基本语法alter table 表 add 列名 字段类型 null-- 例:给学生表添加Telephone字段并指定类型为vachar,长度为50,可空alter table ...
- access数据库用sql语句添加字段,修改字段,删除字段
用 Create Table 建立一个表 Table1 ,主键是自动编号字段,另一个字段是长度是 10 的文本字段. 代码如下:CREATE TABLE Table1 (Id COUNTER CONS ...
- SQL Server添加字段语法
通用式: alter table [表名] add [字段名] 字段属性 default 缺省值 default 是可选参数增加字段: alter table [表名] add 字段名 smallin ...
- sql server 添加字段并且赋默认值和说明
select soct.Captcha,CreateOn,* from SceneryOrderCheckTicket soctright join (SELECT Captcha,convert(c ...
随机推荐
- 【再探backbone 01】模型-Model
前言 点保存时候不注意发出来了,有需要的朋友将就看吧,还在更新...... 几个月前学习了一下backbone,这段时间也用了下,感觉之前对backbone的学习很是基础,前几天有个园友问我如何将路由 ...
- HTML5夜空烟花绽放动画效果
模板描述:HTML5夜空烟花绽放动画效果基于HTML5 canvas制作,模拟夜空烟花绽放动画效果,烟花会在夜空打出贺词,有新年快乐.合家幸福.万事如意.心想事成.财源广进等,文字可以自定义,做成各种 ...
- SQLServer ForXmlPath应用
SQLServer ForXmlPath应用 一:ForXmlPath介绍 forXmlPath 是SQL中的forXml语法的一部分,本文主要讲Path模式 ---SQL中FOR XML子句的 ...
- 原创QQ影音DLL劫持漏洞+动画实战教程
1.什么是DLL DLL(Dynamic Link Library)文件为动态链接库文件,又称“应用程序拓展”,是软件文件类型.在Windows中,许多应用程序并不是一个完整的可执行文件,它们被分割成 ...
- MyEclipse 2015免费在线公开课,2月5日开讲
MyEclipse 2015免费在线公开课,2月5日开讲,由MyEclipse官方高级PM Brian Fernandes 主讲. 主讲内容: 更好地支持javascript和技术模块 全新的REST ...
- struts理解
最近大家都在找工作,我好迷茫,觉得自己会的东西太少了.所以决定开始学习SSH三大框架. 首先是struts. struts是基于mvc模式的框架.(struts其实也是servlet封装,提高开发效率 ...
- mysql java Cannot find the driver in the classpath!
确保你的mysql-connector-java有没有配置好, 如何配置: 从oracle上把mysql-connector-java下下来放到java_home里面的extensions里面,然后在 ...
- android 界面设计基本知识Ⅱ
上一章讲述了Android界面设计时,一些基本控件的使用,本章主要讲述自定义控件,Fragment和Headler线程机制. 1.自定义控件 (1)基本知识 dp.sp和dx px:像素点 ...
- 转:JS获取浏览器高度和宽度
发现一篇好文章,汇总到自己的网站上. IE中: document.body.clientWidth ==> BODY对象宽度 document.body.clientHeight ==> ...
- 网站错误记录:Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool.
今天看公司项目的错误日志文件,发现日志文件都是记录的这个错误. 经过网站查找,发现英文翻译是: 译:超时,与连接池的连接时间已过.这种情况发生是因为连接池在使用和最大连接池数目已满 通过翻译,可以看出 ...