`

利用存储过程修改字段类型

阅读更多
今天遇到需要把一个时间类型的字段改为整形,但是又不能破坏原有的数据,即截取年份作为整形保存。设计了一段存储过程完成了这个小小任务:
alter table p_artist drop column birthday ;
alter table p_artist Add  column birthday int default 0 after kind;

基本原理:先是备份了一份数据到另一个表中,然后从另一个表中取到对应的年份倒回来,保证数据没有被破坏;
存储过程如下:
CREATE PROCEDURE updateartist ()
BEGIN
DECLARE birthday_temp int;
DECLARE temp_id bigint(20);
DECLARE find boolean default true;
DECLARE cur1 cursor for select YEAR(bt.birthday),bt.id from test.p_artist bt left join boss.p_artist tp on bt.id=tp.id;
DECLARE continue handler for not found set find=false;

open cur1;

while find = true do
        fetch cur1  INTO birthday_temp,temp_id;
if birthday_temp is NULL then
set birthday_temp=0;
end if;
if find=true then 
update boss.p_artist set birthday = birthday_temp where id=temp_id;
end if; 
end while; 
close cur1;
END;
分享到:
评论

相关推荐

    arcgis自动导入字段:利用模板批量导入字段tbx

    将模板用arcmap打开(注意:要选择内容列表-按绘制顺序列出显示图层),点击此功能,系统自动读取模板的字段(字段属性包括字段名称,字段类型,字段长度,字段精度,保留小数位)存储到选择的txt文件中(自己添加也...

    存储过程的安全及性能优化

    利用OLE自动化存储过程调用dll 1.创建类库程序集 namespace PB_ExtendProcedure { public class ExtendProcedure { public string SayHi() { return "hello world"; } } } 2.生成动态链接库并注册到系统中...

    Oracle如何批量将表中字段名全转换为大写(利用简单存储过程)

    搜到一个批量修改字段名为大写的存储过程,如下: 登陆到要修改的用户下, 执行: begin for cl in (SELECT table_name,column_name from user_tab_columns WHERE column_name<>upper(column_name) and upper...

    SQLServer用存储过程实现插入更新数据示例

    【创建存储过程】 Create proc Insert_Update @Id varchar(20), @Name varchar(20), @Telephone varchar(20), @Address varchar(20), @Job varchar(20), @returnValue int output as declare @tmpName ...

    Visual C++程序开发范例宝典 - 第8章

    实例278 调用具有输出参数的存储过程 实例279 编写扩展存储过程 8.7 数据库结构的读取与修改 实例280 读取Access数据库结构 实例281 读取SQL Server数据库结构 8.8 图片、多媒体数据录入技术 实例282 对Access数据库...

    SQL Server 利用触发器对多表视图进行更新的实现方法

    其步骤就是:利用update操作触发器产生的2个虚拟表【inserted】用来存储修改的数据信息和【deleted】表,然后将对应的数据更新到对应数据表中的字段信息中; 1.首先创建3个表: a.信息表: USE [SQL-LI] BEGIN ...

    精通sql结构化查询语句

    以SQL Server为工具,讲解SQL语言的应用,提供了近500个曲型应用,读者可以随查随用,深入讲解SQL语言的各种查询语句,详细介绍数据库设计及管理,详细讲解存储过程、解发器和游标等知识,讲解了SQL语言在高级语言中...

    C# asp.net 三层代码自动生成器

    并且生成自动分页的SQL存储过程,增加数据,修改数据,删除数据的存储过程,条件查询存储过程, 生成DataGridView页面,Formview页面.FormView页面内数据可以按自己要求进行多列显示. 如果你不想使用FormView,也可以利用...

    devicehive-plugin-cassandra-node:DeviceHive Cassandra存储插件。 NodeJS实现

    如果列/字段不匹配,列/字段类型不匹配,主键和集群键不匹配或顺序不匹配,则应用程序将失败。 如果已经存在UDT或表,它将通知用户。 消息到达时,它可以是命令,命令更新或通知,具体取决于消

    AspMyAdmin

    2. AspMyAdmin之所以敢称为“数据库管理系统”是因为它可以完成表浏览、视图浏览及视图SQL、存储过程SQL、字段类型的修改、增加表中的字段、到处表的定义和数据,执行SQL命令、创建表、创建视图、压缩数据库等功能...

    labview利用labSQL访问数据库

    本应用实例是基于VI的某型装备的随动测试系统,该测试系统需要对事先存储的各测试...限于篇幅,本文只对打开数据库、查询指定的记录的字段值和向数据库添加、删除、修改记录的实现方法作一下介绍,以起到抛砖引玉的作用

    数据库设计规范(3).doc

    创建、修改(+修改说明)、删除(+删除说明) 目 录 1 编写目的 1 2 数据库策略 1 2.1 数据库对象长度策略 1 2.2 数据完整性策略 1 2.3 规范化设计与性能之间的权衡策略 1 2.4 字段类型的定义与使用策略 1 3 命名...

    arcgis工具

    打开属性表,修改多边形的字段“ID”的值为1,保存修改,停止编辑。 打开 空间分析工具栏 GIS软件应用-ArcGIS 执行命令:<空间分析>-<转换>--<要素到栅格> 指定栅格大小:查询要剪切的栅格图 层Landuse 的栅格...

    Microsoft SQL Server数据库建模工具

    当您更改某个受关系影响的列的数据类型、长度、精度、小数位数等信息时,关系中的其他字段将随之更改,这个过程是递归的,所有与该字段有直接或间接关系引用的字段都将受到更改。 8、为更改生成SQL脚本。 使用...

    数据库审计系统需求说明.docx

    支持主流业务协议: TeInet、SMTP POP3 DCOM 4 审计内容 审计日志包括账号、 SQL语句、表、字段、存储过程、客户端工具、 IP、MAC实 例名、主机名等条件。 支持双向审计,特别是返回字段和结果、执行状态、返回行数...

    MSSQL Server 管理器 V3.0 免注册

    (六) 查询结果可直接显示字段类型等信息 本版本调整了: 1. 启动程序更快 2. 加入远程桌面远程控制功能 3. 加入格式化JSON功能 4. 加入查询结果二进制内容导批量导出成文件 5. 查询显示中可显示对应的字段类型及...

Global site tag (gtag.js) - Google Analytics