--开启系统表写功能以便创建存储过程
EXEC sp_configure 'allow updates',1
RECONFIGURE WITH OVERRIDE
GOCREATE PROC sp_addColumn
@TableName sysname,              --要添加字段的表名
@FieldDefine nvarchar(1000),   --要添加的列的定义,定义必须符合ALTER TABLE tbname ADD规范
@Position   int=-1                --添加列位置,其值为1~表的总列数,比如1,表示添加为第1列,如果@Position无效,则仅添加列
AS
IF ISNULL(OBJECTPROPERTY(OBJECT_ID(@TableName),'IsUserTable'),0)=0
BEGINRAISERROR(N'无效的表名 "%s"',12,16,@TableName)return
END--添加字段
DECLARE @s nvarchar(4000)
SET @s=N'ALTER TABLE '+QUOTENAME(@TableName)+N' ADD '+@FieldDefineBEGIN TRANEXEC sp_executesql @sIF @@ERROR=0BEGINDECLARE @maxcolid intSELECT @Position=ISNULL(@Position,0),@maxcolid=MAX(colid) FROM syscolumnsWHERE id=OBJECT_ID(@TableName)IF @Position>0 AND @Position<@maxcolidUPDATE syscolumns SET colid=CASE colid WHEN @maxcolid THEN @Position ELSE colid+1 END,colorder=CASE colid WHEN @maxcolid THEN @Position ELSE colid+1 ENDWHERE id=OBJECT_ID(@TableName)AND colid>=@PositionCOMMIT TRANENDELSEROLLBACK TRAN
GO--关闭系统表写功能
EXEC sp_configure 'allow updates',1
RECONFIGURE WITH OVERRIDE

SQL学习----添加列到指定位置相关推荐

  1. mysql添加列到指定位置

    添加到某列后面 alter table tset_table add age int(4) default 20 after id; 将age添加到表test_table 中id的后面 其中defau ...

  2. oracle在指定列后添加列,oracle添加列到指定位置

    oracle中, 1.如果表已经装载了大量数据应该是用视图来代替最好. alter table TableNM add NewField varchar2(10) rename TableNM to ...

  3. oracle 新增列到指定位置,oracle添加列到指定位置

    oracle中,1.如果表已经装载了大量数据应该是用视图来代替最好.alter table TableNM add NewField varchar2(10)rename TableNM to Tab ...

  4. ios view 切上部分圆角_IOS开发入门之给view添加圆角并指定位置

    本文将带你了解IOS开发入门之给view添加圆角并指定位置,希望本文对大家学IOS有所帮助. ios中给view添加圆角并指定位置 在ios开发中,为了有个不错的UI交互效果,我们经常会用到为视图添加 ...

  5. sql语句往某个字段指定位置追加或者插入值

    sql语句往某个字段指定位置追加或者插入值 **业务场景:**需要对数据表中某个字段的值进行修改(对该字段的值进行插入字符串操作) 需要将materiel_features_pic字段值的'.png' ...

  6. Mysql添加字段、添加字段到指定位置

    #默认添加在末尾 ALTER TABLE prod_defect ADD column details varchar(255) DEFAULT NULL COMMENT '申请详情'; ALTER ...

  7. ms sql server 添加列,删除列。

    添加列. alter table synclogs_backup add Synclogs_id nvarchar(36) null,Package_dir nvarchar(500) null; 删 ...

  8. sql常用操作(含指定位置添加字段、修改到指定位置后等)

    1) 创建用户表(user) 要求:字段 类型 长度uid intuname varchar 20password varchar 20birthday date create table user( ...

  9. sql语句添加列带注释默认为null

    alter table usr_org_feedback add service_type TINYINT(4) NOT NULL default 0 COMMENT '1小类,2项目' AFTER ...

最新文章

  1. 查看linux的用户 7.2,linux下查看用户登入系统相关命令及编写脚本(七)
  2. 通过实现继承TabActivity并且实现TabContentFactory的方法创建选项卡的一点心得
  3. Android之图形图像之使用Path类总结
  4. Webpack 服务器端代码打包
  5. OpenShift 4 - 配置本地Neuxs Registry并通过Pull Secret访问
  6. ?Sized 和 Sized
  7. Curvy Little Bottles——ACM icpc 2012 word final problem B
  8. 使用js获取input file的路径C:\fakepath\问题
  9. 浅谈外网通过反向代理访问内网资源时的权限保护
  10. 这几天加班熬夜把所有Python库整理了一遍,非常全面!
  11. MATLAB提取RGB三原色及识别形状(圆、三角、方)
  12. C++ 进程间通信(管道)
  13. 主流低功耗服务器u,新组低功耗NAS服务器(1037U)分享
  14. 【软件测试】如何定位web前后台的BUG
  15. jerryscript有关“error: inlining failed in call to always_inline”问题的解决
  16. cocos2d中遇到棱形组成的方块进行点击判断位置
  17. Android获取自定义格式时区
  18. 【C/C++】多维向量vector
  19. JAVA数组首位末位互换_数组元素前移,第一个元素放置数组末位
  20. 喵喵机和咕咕机哪个好,打印效果大评测!喵喵机p2 VS咕咕机GT1

热门文章

  1. angular上传文件到本地服务器,Angular文件上传示例
  2. HTML上传文件超过2M就上传失败了解决方案
  3. Python Day04
  4. 1000: 梦里的难题
  5. 基于摄像头的签到系统(考试)(三)----tkinter
  6. 怎么设置台式计算机密码忘了,电脑开机密码忘记怎么办 多种方法轻松解决【图文教程】...
  7. JVM 虚拟机 AOT 和 JIT 即时编译
  8. PAT甲级 1122 哈密顿回路
  9. pv事件 mv事件 mc事件
  10. 东南大学破格保研挂科_给挂科同学的建议