位置: 编程技术 - 正文

根据sql脚本修改数据库表结构的几种解决方案(根据sql脚本修改数据类型)

编辑:rootadmin

最近由于项目需要要做一个小工具。 需求:客户用的老库并存储了一些数据,用了一段时间,我们根据客户提出新功能在老库的基础上对新库进行修改。这些修改有很多细节方面的修改,包含存储过程,增加表,修改表字段类型,添加字段。 然后我们自己更新并测试好软件后,需要改动客户那边的老库,老库的数据是要保存的。 解决方案一:很快我就想到用SQL SERVER R2 自带的功能,生成新库脚本。把老库改个名字,跑新库脚本,然后通过数据库自带功能把老库数据导入到新库数据。测试的时候,数据量不大,速度还比较理想。 但是这对客户来说还是很不方便的,且数据量大些还是比较费时的。于是,boss就让我做个小工具吧。 难道我要用程序实现以上操作,oh my god ! 于是我想啊想。。。。 解决方案二:我就再细一些,直接操作数据库的表吧,对于数据库中存在的表,我给它重新命名,跑个新脚本建表,然后把老表中数据插进去。 相关SQL语句如下: 修改表名:EXEC sp_rename 'oldName' , 'newName' 插入数据:insert into newTable(column1,column2,.....) select column1,column2,..... from oldTable 更多相关操作: 参考数据库、表、列的重命名 列出参考内容来方便查看 一、更改数据库名 二、更改表名或列名 参考 复制表结构和表数据的SQL语句 列出参考内容来方便查看 1.复制表结构及数据到新表 CREATE TABLE 新表 SELECT * FROM 旧表 2.只复制表结构到新表 CREATE TABLE 新表 SELECT * FROM 旧表 WHERE 1=2 即:让WHERE条件不成立. 方法二:(由tianshibao提供) CREATE TABLE 新表 LIKE 旧表 3.复制旧表的数据到新表(假设两个表结构一样) INSERT INTO 新表 SELECT * FROM 旧表 4.复制旧表的数据到新表(假设两个表结构不一样) INSERT INTO 新表(字段1,字段2,.......) SELECT 字段1,字段2,...... FROM 旧表 想到这,发现好像还少了点什么,呃,procedure和constraint,好吧,那我也先删除再添加 先查出来 select name from sys.procedures select constraint_name, table_name from information_schema.table_constraints 再删除 drop procedure [dbo].[procedure_name] alter table tableName drop CONSTRAINT [PK_ |FK_ |UK_ |DF_ |CK_] 这里再补充一些东西,关于约束前缀,参考SQL约束前缀 方便查看,再列出来 --主键 constraint PK_字段 primary key(字段), --唯一约束 constraint UK_字段 unique key(字段), --默认约束 constrint DF_字段 default('默认值') for 字段, --检查约束 constraint CK_字段 check(约束。如:len(字段)>1), --主外键关系 constraint FK_主表_从表 foreign(外键字段) references 主表(主表主键字段) 然后再从脚本中读取相应脚本文件并执行(加句废话:要执行多行脚本文件,CommandText里加'n'就好了)。 解决方案三:思来想去,为什么非要导入数据,直接改表结构就好了呀。于是读取表中字段 select column_name,data_type from information_schema.columns where table_name = 'tableName' 对于旧表中存在的字段 ALTER TABLE [tableName] ALTER COLUMN [columnName] [int] NOT NULL 对于旧表中不存在的字段 ALTER TABLE [tableName] ADD COLUMN [columnName] [int] NOT NULL 这样一来就不用导入数据就可以把旧库结构更新,其中除了运用一些ADO.NET方面的知识,还用到了正则表达式之类的来匹配脚本中相应的SQL命令。当然目前的方案还存在一些问题,这个工具还不够通用,对需要旧表多余的列并没有删除,还有容错性方面考虑得也不够周到。后期还会根据项目需要进一步改进的。

推荐整理分享根据sql脚本修改数据库表结构的几种解决方案(根据sql脚本修改数据类型),希望有所帮助,仅作参考,欢迎阅读内容。

根据sql脚本修改数据库表结构的几种解决方案(根据sql脚本修改数据类型)

文章相关热门搜索词:根据sql脚本修改数据类型,用sql语句修改数据,sql脚本编写,sql修改记录的命令是,根据sql脚本修改数据,sql脚本修改为季初,sql脚本修改为季初,根据sql脚本修改数据类型,内容如对您有帮助,希望把文章链接给更多的朋友!

MSSQL自动重建出现碎片的索引的方法分享 1.索引碎片的产生?由于在表里大量的插入、修改、删除操作而使索引页分裂。如果索引有了高的碎片,有两种情况,一种情况是扫描索引需要花费很

SQL高级应用之同服务器上复制表到另一数据库中并实现去重复 SQL语句:INSERTINTOWhir_ezMall_Full_c..Whir_Member(MemberID,LevelID,Account,MemberPWD,Email,Integral,MemberName,MemberStatus,Sex,Birthday,Area,Adress,ZipCode,Tel,Mobile,SaveQuestion,SaveAnswer,Crea

删除sqlserver数据库日志和没有日志的数据库恢复办法 一、删除数据库日志文件的方法你曾经有在执行SQL的时候,数据库报事务日志已满,然后执行报错。然后纠结于怎么删除数据库日志,捣鼓半天吗,现

标签: 根据sql脚本修改数据类型

本文链接地址:https://www.jiuchutong.com/biancheng/321197.html 转载请保留说明!

上一篇:将string数组转化为sql的in条件用sql查询(将string类型数组转化成int)

下一篇:MSSQL自动重建出现碎片的索引的方法分享(mysql 自动重启)

  • 城市维护建设税怎么做分录
  • 收购农副产品怎么做账
  • 上期有留抵进项税额,本期如何转,如何做账
  • 信用评估费用收费标准
  • 构成业务和不构成业务的会计处理
  • 研发费用扣除比例是百分75吗
  • 计提代扣代缴个人缴纳的社会保险费分录
  • 代办汽车过户手续
  • 教育用地转让缴哪些税
  • 外购存货的成本不包括
  • 当月开的发票次月预缴税款行得通吗?
  • 建筑公司支付给个人的劳务费计入什么科目
  • 未确认融资租赁费用是什么类型科目
  • 跨月销项负数发票怎么做账
  • 私立医院整容效果都不行吗
  • 老板想提取销售公积金
  • 亏本销售商品如何做其会计分录?
  • 待摊费用跨年冲销如何入账?
  • 抵减以前年度多缴企业所得税分录
  • 红字发票账务处理摘要
  • 购进固定资产抵扣时咋填报增值税
  • 其他应收款在资产负债表中是负数
  • 子公司代母公司支付费用
  • 金税盘开的发票显示未报送怎么办
  • 累计已确认收入极可能不会发生重大转回
  • 基本户转移到别的银行怎么转移
  • 4月发票能入1月吗
  • 企业撤回投资说明模板怎么写
  • 预付账款供应商类别怎么填
  • 云下载并重新安装
  • 如何进行网速测试设置
  • 项目的投入资金预算表
  • 收不到的物业费是否增值税确认收入
  • rsrcmtr.exe - rsrcmtr是什么进程 有什么用
  • 单位给个人开票需要什么资料才能开
  • 公司招的兼职员工怎么报个税
  • 公司劳务费收入涉及哪些税
  • win10蓝牙添加设备闪退
  • 以下关于static
  • php中session和cookie
  • 在报税显示缺少税种信息
  • transformer模型包含哪些结构
  • 只有销售才能使你成功的名言
  • 微信手续费由谁承担
  • 公司员工抽奖活动
  • 发票说明格式
  • 电子发票查询真伪
  • mysql 分片优缺点
  • 税务登记证证书编号是什么
  • 金税盘维护费应该计入什么科目
  • 平行结转分步法各步骤的费用
  • 全资子公司的利润怎么记录母公司报表
  • 合伙企业是否需要缴纳印花税
  • 公司用现金支付货款
  • 母公司代发子公司工资,子公司申报个税
  • 公司变更名字后,公账怎么办
  • 个人独资企业与一人公司的区别与联系
  • 勾选通行费发票后如何做分录
  • 开给个人的普通增值税
  • 暂领款是什么意思
  • 总账建账要建全部科目吗
  • 如何制作u盘系统win7
  • winxp密码忘了
  • os x 10.11 el capitan中文版上手体验评测
  • linux修改时间格式
  • 怎么看清水印
  • cocos2dx官方教程
  • js动态表单
  • Ext中下拉列表ComboBox组件store数据格式用法介绍
  • 网页设计css文字居中
  • Unity3D游戏开发引擎
  • 批处理转义字符如何
  • net user %username%
  • python向oracle写入
  • android 科大讯飞语音引擎 调用无响应
  • javascript详细介绍
  • android webview webgl
  • jquery-validate
  • 哈尔滨二手房交易流程
  • 利息收入通过什么科目核算
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设