`

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

阅读更多
今天遇到需要把一个时间类型的字段改为整形,但是又不能破坏原有的数据,即截取年份作为整形保存。设计了一段存储过程完成了这个小小任务:
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;
分享到:
评论

相关推荐

    运用存储过程修改数据库

    总的来说,通过前端JS调用后台方法并利用存储过程,我们可以高效、安全地修改数据库中的数据,同时保持用户体验的流畅性。这种模式广泛应用于Web应用程序,尤其是处理大量数据操作和业务逻辑时。

    泛微E9流程修改字段高亮显示

    ### 泛微E9流程修改字段高亮显示 #### 一、开发背景 在实际的企业管理过程中,工作流程中的表单填写与修改是一项常见的任务。为了确保数据的准确性和完整性,许多企业会采用流程管理系统来追踪和管理这些数据的...

    Asp.net利用存储过程操作数据库(增删改查)

    更新操作的存储过程如`usp_UpdateRecord`,接收主键和其他字段的值,修改已存在的记录。查询操作可能会更复杂,可能涉及到多表联接、条件筛选等,但基本调用流程不变。 通过使用Asp.net和存储过程,开发者可以创建...

    sql 万能修改,删除表的存储过程

    这个存储过程名为`up`,接受四个参数:`@table`表示要更新的表名,`@zid`是需要修改的字段名,`@value`是要设置的新值,而`@zhi`是匹配新值的条件。在存储过程中,动态SQL(`EXEC`语句)被用来构建并执行一个`UPDATE...

    添加用户使用存储过程例子

    “添加用户使用存储过程”的例子展示了如何利用存储过程简化数据库操作,提高效率并确保数据安全。存储过程是数据库开发中不可或缺的一部分,尤其在处理复杂的业务逻辑或频繁重复的操作时,其优势更为明显。通过学习...

    oracle存储过程超详细使用手册

    Oracle存储过程是一组为了完成特定功能的SQL...掌握这些知识点将有助于开发者高效地利用存储过程提高数据库应用的性能与可维护性。注意,实际操作中,还需要关注SQL语句的正确性、异常处理以及性能优化等方面的内容。

    oracle 增加,删除,修改和分页存储过程

    在这个“Oracle增加、删除、修改和分页存储过程”项目中,我们将深入探讨这四个核心的数据库管理功能,并了解如何在PL/SQL环境中实现它们。 1. **增加(Insertion)**: 在Oracle中,创建一个用于插入数据的存储...

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

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

    SQL2005存储过程自动生成器

    描述中提到,“自动生成存储过程,根据数据库的表自动生成创建存储过程语句”,这意味着该工具会分析数据库中的表结构,包括字段名、数据类型以及可能存在的约束条件,然后生成相应的SQL脚本。用户只需指定表名和...

    如何利用BAPI_SALESORDER_CHANGE修改vbak增强字段

    在本案例中,我们需要利用BAPI_SALESORDER_CHANGE来修改销售订单(Sales Order,简称SO)的抬头增强字段。这个需求在实际项目中常见,因为企业往往需要自定义一些标准字段来满足特定的业务需求。 首先,我们要了解...

    DB2存储过程介绍

    3. **安全性**:通过限制对特定存储过程的访问权限,可以增强数据安全性,而不是直接暴露表和字段。 4. **代码复用**:存储过程可以被多个应用程序共享,减少重复代码。 5. **事务管理**:存储过程内可以包含事务...

    Oracle 高效分页存储过程(修改)

    本文将深入探讨Oracle数据库中的高效分页存储过程及其修改版。 首先,我们要理解什么是分页查询。分页查询是数据库中的一种查询策略,它将结果集分为多个部分,每次只返回一部分(一页)结果给用户。这通常涉及到两...

    SQL2005动态表无限级分类存储过程

    总的来说,这些存储过程的核心是通过动态生成SQL语句来处理无限级分类的增删改查操作,它们利用了SQL Server 2005的特性和功能,如递归查询、事务管理等,确保了在复杂的数据结构中的数据完整性和一致性。...

    存储过程和触发器的编程

    在数据库设计中,合理利用存储过程可以大大提高开发效率,同时降低维护成本。 接下来,我们探讨触发器(Trigger)。触发器是一种特殊的存储过程,它在特定的数据库事件发生时自动执行,如INSERT、UPDATE或DELETE...

    gridview存储过程+分页1

    **存储过程**是一种在数据库中编写的SQL代码集合,它可以接收参数并返回结果集或执行其他操作(如修改数据)。存储过程的优点包括提高性能、简化复杂的业务逻辑以及增强安全性等。在本例中,我们有两个存储过程:`...

    .net创建存储过程函数

    总结来说,.NET 创建存储过程函数提供了一种更灵活且功能强大的方式来处理 SQL Server 中的数据,利用 .NET 的强类型和面向对象的特性,提高了代码的可读性和安全性。通过启用 CLR 集成并在 Visual Studio 中创建 ...

    完美翻页存储过程实例

    1. **效率**:存储过程应尽量减少数据库的IO操作,避免全表扫描,利用索引优化查询。如果数据有排序需求,考虑在索引中包含排序字段。 2. **动态计算总页数**:根据数据总量和每页记录数动态计算总页数,以便为用户...

    Oracle修改字段顺序

    虽然Oracle数据库没有直接的方法来修改字段的物理存储顺序,但通过灵活运用SELECT语句、视图以及WITH子句等手段,我们可以轻松地调整查询结果中字段的显示顺序。这种方式不仅能够满足特定的需求,还能保持数据的一致...

    Oracle_存储过程exception异常处理大全及实例经典最终.docx

    ### Oracle 存储过程 Exception 异常处理详解 #### 1. 异常处理概念 在 Oracle 存储过程中,异常处理是一项非常重要的技术,它能够帮助开发人员处理那些不可预见的情况,确保程序的健壮性和稳定性。异常处理主要...

Global site tag (gtag.js) - Google Analytics