主要参考一下脚本的实现思路:
①创建临时表
②创建临时表
③向临时表插入数据
④删除原表
⑤临时表改名
  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. NSSearchPathForDirectoriesInDomains函数详解

    NSSearchPathForDirectoriesInDomains函数详解     #import "NSString+FilePath.h" @implementation ...

  2. webservice客户端添加soap Header信息

    根据wsdl文件的header信息,在客户端中添加相应的header 1.wsdl信息如图 <soapenv:Envelope xmlns:soapenv="http://schema ...

  3. table隔行变色

    table tr:nth-child(2n) {         background: #EEF8F0;     }     table tr:nth-child(2n+1) {         b ...

  4. 基于Spring AOP的JDK动态代理和CGLIB代理

    一.AOP的概念  在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术.AOP是OOP的 ...

  5. django(一)

    Django 自称是"最适合开发有限期的完美WEB框架".本文参考<Django web开发指南>,快速搭建一个blog 出来,在中间涉及诸多知识点,这里不会详细说明, ...

  6. Dom元素的操作

    getElementById(): 获取有指定惟一ID属性值文档中的元素 getElementsByName(name): 返回的是数组 getElementsByTagName(): 返回具有指定标 ...

  7. Ruby on Rails 创建https应用

    1. 创建证书请求文件条件:私钥+证书签名请求+opensslyum install -y opensslmkdir /root/ssl/ && cd /root/ssl/openss ...

  8. "传成老树白茶"献礼母亲节 邀市民品茗感受茶文化

    5月8日下午,传成老树白茶巡回中国公益品鉴会第七十站,走进福州马尾区东方名城传成老树白茶文化馆. 本次品鉴会活动以“感恩母亲节”为主题,以马尾船政文化为背景,邀福州市民一起品鉴白茶,感受中国茶文化. ...

  9. 【JavaScript】--重点解析之跨域请求

    JSON JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. JSON是用字符串来表示Javascript对象,例如可以在django中发送一个JSON格式 ...

  10. GroupJoin和Join的声明及调用

    public static IEnumerable<TResult> Join<TOuter, TInner, TKey, TResult>(this IEnumerable& ...