主要参考一下脚本的实现思路:
①创建临时表
②创建临时表
③向临时表插入数据
④删除原表
⑤临时表改名
  1. /* 为了防止任何可能出现的数据丢失问题,您应该先仔细检查此脚本,然后再在数据库设计器的上下文之外运行此脚本。*/
  2. BEGIN TRANSACTION
  3. SET QUOTED_IDENTIFIER ON
  4. SET ARITHABORT ON
  5. SET NUMERIC_ROUNDABORT OFF
  6. SET CONCAT_NULL_YIELDS_NULL ON
  7. SET ANSI_NULLS ON
  8. SET ANSI_PADDING ON
  9. SET ANSI_WARNINGS ON
  10. COMMIT
  11. BEGIN TRANSACTION
  12. GO
  13. CREATE TABLE dbo.Tmp_VBILL_HEAD
  14. (
  15. ID nvarchar(36) NOT NULL,
  16. TENANCY_ID nvarchar(6) NULL,
  17. VESSEL_VISIT_ID nvarchar(36) NOT NULL,
  18. I_SHIP_NO nvarchar(36) NULL,
  19. E_SHIP_NO nvarchar(36) NULL,
  20. I_E_ID nvarchar(4) NOT NULL,
  21. BILL_NO nvarchar(40) NOT NULL,
  22. BILL_TYPE nvarchar(6) NOT NULL,
  23. ORDER_NO nvarchar(24) NULL,
  24. TRADE_ID nvarchar(4) NULL,
  25. HANG_PLACE_COD nvarchar(10) NULL,
  26. CUSTOM_COD nvarchar(10) NULL,
  27. LINE_ID nvarchar(10) NULL,
  28. FEE_CLIENT_COD nvarchar(15) NULL,
  29. SHIPPER nvarchar(4000) NULL,
  30. CONSIGNEE nvarchar(4000) NULL,
  31. NOTIFY nvarchar(4000) NULL,
  32. SHIPPER_ADDR nvarchar(200) NULL,
  33. CONSIGNEE_ADDR nvarchar(200) NULL,
  34. NOTIFY_ADDR nvarchar(200) NULL,
  35. PAYER nvarchar(10) NULL,
  36. PAYER_PLACE nvarchar(80) NULL,
  37. DELV_TERM nvarchar(24) NULL,
  38. LOADING_TIME ntext NULL,
  39. DISCHING_TIME ntext NULL,
  40. TRANS_FLAG nchar(1) NOT NULL,
  41. TRANS_TYPE nvarchar(6) NULL,
  42. LCL_FLAG nchar(1) NOT NULL,
  43. LCL_NO nvarchar(40) NULL,
  44. SOC_FLAG nchar(1) NULL,
  45. EMPTY_FLAG nchar(1) NULL,
  46. CUSTOM_STATE nvarchar(10) NULL,
  47. LOAD_TYPE nvarchar(10) NULL,
  48. PRE_VESSEL_NAME nvarchar(80) NULL,
  49. PRE_VESSLE_VOY nvarchar(10) NULL,
  50. LOAD_NOTE nvarchar(100) NULL,
  51. POR nvarchar(5) NULL,
  52. POR_NAME nvarchar(80) NULL,
  53. POS nvarchar(5) NULL,
  54. POS_NAME nvarchar(80) NULL,
  55. POL nvarchar(5) NULL,
  56. POL_NAME nvarchar(80) NULL,
  57. POD nvarchar(5) NULL,
  58. POD_NAME nvarchar(80) NULL,
  59. PODEST nvarchar(5) NULL,
  60. PODEST_NAME nvarchar(80) NULL,
  61. POT nvarchar(5) NULL,
  62. POT_NAME nvarchar(80) NULL,
  63. SEQ_NO numeric(11, 0) NULL,
  64. QUANTITY numeric(11, 0) NULL,
  65. CNTR_OPER_ID nvarchar(10) NULL,
  66. RECEIVER nvarchar(100) NULL,
  67. SENDER nvarchar(50) NULL,
  68. FORWARDER nvarchar(50) NULL,
  69. SPOD nvarchar(5) NULL,
  70. CARGO_ID nvarchar(35) NULL,
  71. RELEASE_FLAG nchar(1) NOT NULL,
  72. EXIT_CUSTOM_FLAG nchar(1) NOT NULL,
  73. FEE_ID nchar(1) NOT NULL,
  74. PRE_VOYAGE_NO nvarchar(36) NULL,
  75. TRANS_VOYAGE_NO nvarchar(36) NULL,
  76. PHASE nvarchar(6) NULL,
  77. GOODS_NOTES nvarchar(255) NULL,
  78. PIECES numeric(14, 4) NULL,
  79. WEIGHT numeric(14, 4) NULL,
  80. VOLUME numeric(14, 4) NULL,
  81. MARKS nvarchar(60) NULL,
  82. PKG nvarchar(10) NULL,
  83. NOTES nvarchar(1000) NULL,
  84. CREATED_BY nvarchar(36) NULL,
  85. CREATED_ON date NULL,
  86. UPDATED_BY nvarchar(36) NULL,
  87. UPDATED_ON datetime NULL,
  88. RELEASE_WAY nvarchar(60) NULL,
  89. RELEASE_NOTES nvarchar(200) NULL,
  90. LOCK_FLAG nchar(1) NULL,
  91. LOCK_MAN nvarchar(36) NULL,
  92. LOCK_DTE ntext NULL,
  93. LOCK_NOTES nvarchar(200) NULL,
  94. NOTICE_FLAG nchar(1) NULL,
  95. NOTICE_FAX nvarchar(50) NULL,
  96. NOTICE_TEL nvarchar(50) NULL,
  97. NOTICE_DTE ntext NULL,
  98. DELIVERY_MAN nvarchar(36) NULL,
  99. DELIVERY_DTE ntext NULL,
  100. DELIVERY_NOTES nvarchar(200) NULL,
  101. DELIVERY_FLAG nchar(1) NULL,
  102. SIGN_FLAG nchar(1) NULL,
  103. SIGN_MAN nvarchar(36) NULL,
  104. SIGN_DTE ntext NULL,
  105. SIGN_NOTES nvarchar(200) NULL,
  106. CARRY_FLAG nchar(1) NULL,
  107. ATTRI_FLAG nchar(1) NULL,
  108. ATTRI_NEXT_FLAG nchar(1) NULL,
  109. LD_TERM nvarchar(24) NULL,
  110. TRADE_TERM nvarchar(24) NULL,
  111. QUARANTINE_TERM nvarchar(24) NULL,
  112. SIGN_POS nvarchar(5) NULL,
  113. SIGN_POS_NAME nvarchar(80) NULL,
  114. FEE_CONTRACT_NO nvarchar(50) NULL
  115. ) ON [PRIMARY]
  116. TEXTIMAGE_ON [PRIMARY]
  117. GO
  118. ALTER TABLE dbo.Tmp_VBILL_HEAD SET (LOCK_ESCALATION = TABLE)
  119. GO
  120. IF EXISTS(SELECT * FROM dbo.VBILL_HEAD)
  121. EXEC('INSERT INTO dbo.Tmp_VBILL_HEAD (ID, TENANCY_ID, VESSEL_VISIT_ID, I_SHIP_NO, E_SHIP_NO, I_E_ID, BILL_NO, BILL_TYPE, ORDER_NO, TRADE_ID, HANG_PLACE_COD, CUSTOM_COD, LINE_ID, FEE_CLIENT_COD, SHIPPER, CONSIGNEE, NOTIFY, SHIPPER_ADDR, CONSIGNEE_ADDR, NOTIFY_ADDR, PAYER, PAYER_PLACE, DELV_TERM, LOADING_TIME, DISCHING_TIME, TRANS_FLAG, TRANS_TYPE, LCL_FLAG, LCL_NO, SOC_FLAG, EMPTY_FLAG, CUSTOM_STATE, LOAD_TYPE, PRE_VESSEL_NAME, PRE_VESSLE_VOY, LOAD_NOTE, POR, POR_NAME, POS, POS_NAME, POL, POL_NAME, POD, POD_NAME, PODEST, PODEST_NAME, POT, POT_NAME, SEQ_NO, QUANTITY, CNTR_OPER_ID, RECEIVER, SENDER, FORWARDER, SPOD, CARGO_ID, RELEASE_FLAG, EXIT_CUSTOM_FLAG, FEE_ID, PRE_VOYAGE_NO, TRANS_VOYAGE_NO, PHASE, GOODS_NOTES, PIECES, WEIGHT, VOLUME, MARKS, PKG, NOTES, CREATED_BY, CREATED_ON, UPDATED_BY, UPDATED_ON, RELEASE_WAY, RELEASE_NOTES, LOCK_FLAG, LOCK_MAN, LOCK_DTE, LOCK_NOTES, NOTICE_FLAG, NOTICE_FAX, NOTICE_TEL, NOTICE_DTE, DELIVERY_MAN, DELIVERY_DTE, DELIVERY_NOTES, DELIVERY_FLAG, SIGN_FLAG, SIGN_MAN, SIGN_DTE, SIGN_NOTES, CARRY_FLAG, ATTRI_FLAG, ATTRI_NEXT_FLAG, LD_TERM, TRADE_TERM, QUARANTINE_TERM, SIGN_POS, SIGN_POS_NAME, FEE_CONTRACT_NO)
  122. SELECT ID, TENANCY_ID, VESSEL_VISIT_ID, I_SHIP_NO, E_SHIP_NO, I_E_ID, BILL_NO, BILL_TYPE, ORDER_NO, TRADE_ID, HANG_PLACE_COD, CUSTOM_COD, LINE_ID, FEE_CLIENT_COD, SHIPPER, CONSIGNEE, NOTIFY, SHIPPER_ADDR, CONSIGNEE_ADDR, NOTIFY_ADDR, PAYER, PAYER_PLACE, DELV_TERM, LOADING_TIME, DISCHING_TIME, TRANS_FLAG, TRANS_TYPE, LCL_FLAG, LCL_NO, SOC_FLAG, EMPTY_FLAG, CUSTOM_STATE, LOAD_TYPE, PRE_VESSEL_NAME, PRE_VESSLE_VOY, LOAD_NOTE, POR, POR_NAME, POS, POS_NAME, POL, POL_NAME, POD, POD_NAME, PODEST, PODEST_NAME, POT, POT_NAME, SEQ_NO, QUANTITY, CNTR_OPER_ID, RECEIVER, SENDER, FORWARDER, SPOD, CARGO_ID, RELEASE_FLAG, EXIT_CUSTOM_FLAG, FEE_ID, PRE_VOYAGE_NO, TRANS_VOYAGE_NO, PHASE, GOODS_NOTES, PIECES, WEIGHT, VOLUME, MARKS, PKG, NOTES, CREATED_BY, CONVERT(date, CREATED_ON), UPDATED_BY, UPDATED_ON, RELEASE_WAY, RELEASE_NOTES, LOCK_FLAG, LOCK_MAN, LOCK_DTE, LOCK_NOTES, NOTICE_FLAG, NOTICE_FAX, NOTICE_TEL, NOTICE_DTE, DELIVERY_MAN, DELIVERY_DTE, DELIVERY_NOTES, DELIVERY_FLAG, SIGN_FLAG, SIGN_MAN, SIGN_DTE, SIGN_NOTES, CARRY_FLAG, ATTRI_FLAG, ATTRI_NEXT_FLAG, LD_TERM, TRADE_TERM, QUARANTINE_TERM, SIGN_POS, SIGN_POS_NAME, FEE_CONTRACT_NO FROM dbo.VBILL_HEAD WITH (HOLDLOCK TABLOCKX)')
  123. GO
  124. DROP TABLE dbo.VBILL_HEAD
  125. GO
  126. EXECUTE sp_rename N'dbo.Tmp_VBILL_HEAD', N'VBILL_HEAD', 'OBJECT'
  127. GO
  128. COMMIT
  129. select Has_Perms_By_Name(N'dbo.VBILL_HEAD', 'Object', 'ALTER') as ALT_Per, Has_Perms_By_Name(N'dbo.VBILL_HEAD', 'Object', 'VIEW DEFINITION') as View_def_Per, Has_Perms_By_Name(N'dbo.VBILL_HEAD', 'Object', 'CONTROL') as Contr_Per


MsSQLserver中修改字段值系统自动生成的脚本的更多相关文章

  1. RookeyFrame Bug 编号显示 系统自动生成 的问题,有时候依旧会显示text文本框

    编号显示 系统自动生成 的问题,有时候依旧会显示text文本框 1.在线新建model -> 启用编码规则 -> 新建字段Code(主键) 2.跟Code字段 创建编码规则 3.新增菜单 ...

  2. EHlib在数据单元中显示字段值为图形。

    -[定制网格数据单元]  在数据单元中显示字段值为图形.  TDBGridEh allows to show bitmaps from TImageList component depending o ...

  3. MySQL数据库中tinyint字段值为1,读取出来为true的问题

    原文:https://blog.csdn.net/shuyou612/article/details/46788475 MySQL数据库中tinyint字段值为1,读取出来为true的问题   今天在 ...

  4. fiddler4自动生成jmeter脚本

    接口.性能测试任务当遇到从浏览器或移动app自己抓包的情况出现时就变得巨苦逼了,苦在哪里?苦在需要通过抓包工具抓报文,需要通过抓包报文梳理业务逻辑.需要将梳理的逻辑编写成脚本.最最苦的情况是,自己抓包 ...

  5. Dynamics 365中使用计算字段自动编号字段实时工作流自动生成分组编码加流水号的自动编号字段值

    我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面 ...

  6. 使用EF Code First生成模型,如何让时间字段由数据库自动生成

    场景:保存记录时需要时间字段,该时间如果由前台通过DateTime.Now产生,存在风险,比如修改客户端的系统时间,就会伪造该记录的生成时间.因此,需要在保存记录时,由后台自动赋予具体的时间. 实现方 ...

  7. [ArcGIS API for JavaScript 4.8] Sample Code-Popups-1-popupTemplate的概念和popup中属性字段值的多种表现形式

    [官方文档:https://developers.arcgis.com/javascript/latest/sample-code/intro-popuptemplate/index.html] 一. ...

  8. Java反射-修改字段值, 反射修改static final修饰的字段

    反射修改字段 咱们从最简单的例子到难, 一步一步深入. 使用反射修改一个private修饰符的变量name 咱们回到主题, 先用反射来实现一个最基础的功能吧. 其中待获取的name如下: public ...

  9. SQL SERVER数据库的表中修改字段的数据类型后,不能保存

      在数据库里面建了一个表,可是由于对SQL SERVER的建表功能不熟悉,不知道把主键设成什么是好,就先设置了个TEXT类型,可是后来朋友们告诉我说,TEXT类型容易让数据文件变得很大,还 是改成一 ...

随机推荐

  1. WPF程序将DLL嵌入到EXE的两种方法

    WPF程序将DLL嵌入到EXE的两种方法 这一篇可以看作是<Visual Studio 版本转换工具WPF版开源了>的续,关于<Visual Studio 版本转换工具WPF版开源了 ...

  2. solr 安装

    1:solr简介 solr是一个开源的搜索引擎,是对lucene做了封装,对外提供类似于webservice接口, 可以使用http请求的方式对solr进行操作. lucene.solr.elasti ...

  3. mysql怎么查询一条记录的前一条记录和后一条记录

    上一条:select * from 表 where 数据id<@当前显示数据id order by 数据_id asc) limit 1下一条:select * from 表 where 数据i ...

  4. 使用Open xml 操作Excel系列之一-读取Excel

    一. 安装Open Xml SDK 从微软网站下载Open xml SDK,安装SDK. 二. 在项目中添加对DocumentFormat.OpenXml库的引用

  5. 生产环境中,数据库升级维护的最佳解决方案flyway

    官网:https://flywaydb.org/ 转载:http://casheen.iteye.com/blog/1749916 1.  引言 想到要管理数据库的版本,是在实际产品中遇到问题后想到的 ...

  6. HTTP事务

    一次完整的HTTP事务 当我们在地址栏输入URL,按下回车的时候,浏览器需要做的事情: 1.域名解析:浏览器解析域名对应的IP地址: //DNS Domain Name System 域名系统  将域 ...

  7. Makefile文件学习总结

    Makefile文件相当于是一种脚本编程语言,目的是实现自动化编译.编写makefile文件的过程中可以使用变量.控制结构和函数等一般编程语言的特性. Makefile文件的组成内容.makefile ...

  8. virtualenv基本操作(windows环境)

    1 下载virtualenv pip install virtualenv 2 创建一个virtualenv工作目录 mkdir myproject_env 3 穿件一个python项目 virtua ...

  9. 读《Android编程权威指南》

    因为去年双十二购买了一折的<Android 编程权威指南(第一版)>,在第二版出来后图灵社区给我推送了第二版的优惠码,激动之余就立马下单购买电子书,不得不说Big Nerd Ranch G ...

  10. jQuery插件开发代码

    方法和原理在这篇博文中非常详细易懂 http://www.cnblogs.com/Wayou/p/jquery_plugin_tutorial.html 下面整理下基本知识点和基本的代码段: jQue ...