首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

mssql procedure 功课 存储过程

2012-07-20 
mssql procedure 作业 存储过程前些日子客户过来个需求,是要把以前所有DB里面记录用户消费coinlog的表做统

mssql procedure 作业 存储过程

前些日子客户过来个需求,是要把以前所有DB里面记录用户消费coinlog的表做统一成一样的字段(以前由于DB很多LOG表很乱)。上个礼拜把设计书写好后,今天开始写存储过程。很久没有写存储过了,上午在网上做功课下午写,还好有公司前辈高手指导算是在下班前完成了。把写的存储过程的代表性的一个记录一下,以便以后温习只用。

?

作业内容:将某DB的原来coinLog表内的某些字段根据条件复制到新表中,每一天复制前一天产生的数据,具体procedure如下:

?

set ANSI_NULLS ONset QUOTED_IDENTIFIER ONgo-- =============================================-- Author: Jiang-- create Date: 2011/05/09-- Description: 邦楽フルプラスEZコインログ出力-- =============================================ALTER PROCEDURE [dbo].[CopyTo_CoinEventLog_FullpE]ASBEGINBEGIN TRANSET NOCOUNT ON;INSERTCoinEventLog_FullpE(uid,--ユーザーIDcredit_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_dtFROM fullp_e.dbo.CoinEventLog--前日の1日分のコインログを抽出するWHERE upd_dt >= CONVERT(varchar(10), getdate() - 1, 111)and upd_dt < CONVERT(varchar(10), getdate(), 111)IF @@error<>0BEGINrollback tranreturnENDCOMMIT TRANEND

热点排行