前些日子客户过来个需求,是要把以前所有DB里面记录用户消费coinlog的表做统一成一样的字段(以前由于DB很多LOG表很乱)。上个礼拜把设计书写好后,今天开始写存储过程。很久没有写存储过了,上午在网上做功课下午写,还好有公司前辈高手指导算是在下班前完成了。把写的存储过程的代表性的一个记录一下,以便以后温习只用。
作业内容:将某DB的原来coinLog表内的某些字段根据条件复制到新表中,每一天复制前一天产生的数据,具体procedure如下:
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
-- =============================================
-- Author: Jiang
-- create Date: 2011/05/09
-- Description: 邦楽フルプラスEZコインログ出力
-- =============================================
ALTER PROCEDURE [dbo].[CopyTo_CoinEventLog_FullpE]
AS
BEGIN
BEGIN TRAN
SET NOCOUNT ON;
INSERT
CoinEventLog_FullpE
(
uid, --ユーザーID
credit_coin, --イベントコイン
rest_coin, --残りコイン
event_cd, --イベントコード
event_desc, --イベント詳細記述
upd_nm, --レコード更新者
upd_pg, --レコード更新プログラム
upd_dt --レコード更新時間
)
SELECT
uid,
credit_coin,
rest_coin,
CASE
WHEN [event_cd] = 'give' OR [event_cd] = 'change' THEN 'give'
WHEN [event_cd] = 'use' THEN 'use'
WHEN [event_cd] = 'lost' THEN 'lost'
WHEN [event_cd] = 'takeover' THEN 'takeover'
WHEN [event_cd] = 'campaign' THEN 'campaign'
ELSE '' -- 'give','use','lost','takeover','change',campaign以外の値なら、''に設定する
END,
event_desc,
upd_nm,
upd_pg,
upd_dt
FROM
fullp_e.dbo.CoinEventLog
--前日の1日分のコインログを抽出する
WHERE upd_dt >= CONVERT(varchar(10), getdate() - 1, 111)
and upd_dt < CONVERT(varchar(10), getdate(), 111)
IF @@error<>0
BEGIN
rollback tran
return
END
COMMIT TRAN
END
分享到:
相关推荐
MySql 分页 存储过程 MySql 分页 存储过程 MySql 分页 存储过程
mysql存储过程方面的圣经,以通俗的示例方法讲述mysql存储过程的深奥内容,In MySQL Stored Procedure Programming, they put that hard-won experience to good use. Packed with code examples and covering ...
Mysql存储过程常用语句模板(含变量,if,三种循环等等) Mysql存储过程常用语句模板(含变量,if,三种循环等等) Mysql存储过程常用语句模板(含变量,if,三种循环等等) Mysql存储过程常用语句模板(含变量,if,三...
MySQL创建存储过程批量插入10万条数据 存储过程 1、首先防止主键冲突,我们清空表。 TRUNCATE table A_student; 2、编写存储过程 delimiter ‘$’; CREATE PROCEDURE batchInsert(in args int) BEGIN declare i int ...
MySQL存储过程学习 MySQL存储过程 MySQL存储过程
这是MYSQL5数据库服务器中存储过程实现部分的分过程控制程序.运用了PLSQL语言来达MYSQL数据库中分表功能,体现了系统的整体性能...
c++实现调mysql存储过程,实现存储过程的出参入参,可以支持查询多数据返回,还有存储过程的复杂数据的增删改等
mysql经典教程+mysql存储过程讲解 重点讲解Mysql的存储过程,触发器,游标的使用 对mysql不太熟的朋友可以好好学习。。。
MySQL存储过程 MySQL存储过程 MySQL存储过程 MySQL存储过程 MySQL存储过程
mysql触发器+存储过程
本文实例讲述了MySQL存储过程的异常处理方法。分享给大家供大家参考。具体如下: mysql> mysql> delimiter $$ mysql> mysql> CREATE PROCEDURE myProc -> (p_first_name VARCHAR(30), -> p_last_name VARCHAR(30)...
Mysql分页通用存储过程
创建存储过程可以使用CREATE PROCEDURE语句 语法格式: CREATE PROCEDURE sp_name ([proc_parameter[,...]]) routine_body routine_body:存储过程的主体部分,也叫做存储过程体。里面包含了在过程调用的时候必须...
mysql存储过程 mysql存储过程 mysql存储过程 mysql存储过程
存储过程(Stored Procedure)是一组为了完 成特定功能的 SQL 语句集,经编译后存储在数据库中。用户通过指定存储过程的名字并给 出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象,...
mysql存储过程实现分页 mysql存储过程实现分页 mysql存储过程实现分页 mysql存储过程实现分页
MySQL实验报告5(存储过程与函数)(1)(1).pdf
本文实例讲述了mysql存储过程之返回多个值的方法。分享给大家供大家参考,具体如下: mysql存储函数只返回一个值。要开发返回多个值的存储过程,需要使用带有INOUT或OUT参数的存储过程。咱们先来看一个orders表它的...
CallableStatement 调用mysql5.0的存储过程和方法 配有创建存储过程和方法的源代码
MySQL存储过程经典教程MySQL存储过程经典教程MySQL存储过程经典教程MySQL存储过程经典教程MySQL存储过程经典教程MySQL存储过程经典教程