SQL儲存過程 (時間段,迴圈,事務)
USE [SSIS_ExtractData]
GO
/****** Object: StoredProcedure [dbo].[sp_AntifakeAnalysis] Script Date: 05/05/2017 16:01:52 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: Yaojl
-- Create date: <Create Date,,2017-03-16>
-- Description: <Description,,掃碼首次多次分析>
-- =============================================
ALTER PROCEDURE [dbo].[sp_AntifakeAnalysis]
AS
BEGIN
BEGIN TRY
BEGIN TRAN
IF EXISTS ( SELECT ID
FROM dbo.Rep_AntifakeAnalysis )
BEGIN
TRUNCATE TABLE dbo.Rep_AntifakeAnalysis
END
--往前推6個月
DECLARE @temp DATETIME = CONVERT(DATETIME, CONVERT(VARCHAR(7), DATEADD(MONTH, -5, GETDATE()), 120) + '-01');
DECLARE @first INT;
DECLARE @repeat INT;
DECLARE @total INT;
WHILE @temp <=getdate()
BEGIN
---全行業
SELECT @first = COUNT(FFAntiFakeCode)
FROM CRM_AntiFakeQRec
WHERE FSystime >= @temp
AND FSystime < DATEADD(MONTH, 1, @temp)
AND FsearchNum = 1
SELECT @repeat = COUNT(FFAntiFakeCode)
FROM CRM_AntiFakeQRec
WHERE FSystime >= @temp
AND FSystime < DATEADD(MONTH, 1, @temp)
AND FsearchNum > 1
SET @total = @first + @repeat;
INSERT INTO dbo.Rep_AntifakeAnalysis
( DataNum ,
FirstNum ,
RepeatNum ,
TotalNum
)
VALUES (
--CONVERT(varchar(7), @temp, 111) , -- DataNum - nvarchar(50)
Datename(month,@temp)+'月',
@first , -- FirstNum - int
@repeat , -- RepearNum - int
@total -- TotalNum - int
)
------分行業
-- --建立臨時表
-- DECLARE @tradeID INT;
--if not object_id('Tempdb..#A') is null
-- drop table #A
--Create table #A([TradeID] nvarchar(100))
--Insert #A SELECT TradeID FROM dbo.CRM_AntiFakeQRec GROUP BY TradeID
--WHILE EXISTS(SELECT TradeID FROM #A)
--BEGIN
--SET ROWCOUNT 1
--SELECT @tradeID=TradeID FROM #A
--SET ROWCOUNT 0
--DELETE FROM #A WHERE [email protected]
--PRINT @tradeID
-- SELECT @first = COUNT(FFAntiFakeCode)
-- FROM CRM_AntiFakeQRec
-- WHERE FSystime >= @temp
-- AND FSystime < DATEADD(MONTH, 1, @temp)
-- AND FsearchNum = 1 AND [email protected]
-- SELECT @repeat = COUNT(FFAntiFakeCode)
-- FROM CRM_AntiFakeQRec
-- WHERE FSystime >= @temp
-- AND FSystime < DATEADD(MONTH, 1, @temp)
-- AND FsearchNum > 1 AND [email protected]
-- SET @total = @first + @repeat;
-- INSERT INTO dbo.Rep_AntifakeAnalysis
-- ( DataNum ,
-- FirstNum ,
-- RepeatNum ,
-- TotalNum,
-- TradeID
-- )
-- VALUES ( CONVERT(varchar(7), @temp, 111) , -- DataNum - nvarchar(50)
-- @first , -- FirstNum - int
-- @repeat , -- RepearNum - int
-- @total, -- TotalNum - int
-- @tradeID
-- )
-- END
SET @temp = DATEADD(MONTH, 1, @temp)
END
COMMIT TRAN
END TRY
BEGIN CATCH
IF XACT_STATE() = -1
BEGIN
ROLLBACK TRAN;
END
PRINT '更新失敗';
END CATCH
END
相關推薦
SQL儲存過程 (時間段,迴圈,事務)
USE [SSIS_ExtractData] GO /****** Object: StoredProcedure [dbo].[sp_AntifakeAnalysis] Script Date: 05/05/2017 16:01:52 ******/ SET ANS
SQL儲存過程呼叫標量值函式,儲存過程呼叫儲存過程
一、存 儲過程呼叫標量值函式 先建一個標量值函式,如 CREATE FUNCTION [dbo].[F_Num] ( @a nvarchar(50) ) RETURNS nvarchar(50) AS BEGIN declare @m nvarchar(50) selec
資料庫-儲存過程(概念、優缺點、分類)
(1)概念: ① 儲存過程(Stored Procedure)是一組為了完成特定功能的SQL語句集。經編譯後儲存在資料庫 中。 ② 儲存過程是資料庫中的一個重要物件,使用者通過指定儲存
SQL增刪改查,迴圈,觸發器,儲存過程,以及sql語法
可以直接貼上程式碼使用 --建立資料庫命令 create database j1216 on ( name=j1216, filename='E:\shuju\j1216\j1216.mdf', s
sql server建立儲存過程(有參,無參,有輸出)
student表已經有了,“建立”在中間,測試在最下面! select * from student; sid sname sex age tel s001 豐登兒 男 35 13527542451 s002 班克爾
大資料之scala(一) --- 安裝scala,簡單語法介紹,條件表示式,輸入和輸出,迴圈,函式,過程,lazy ,異常,陣列
一、安裝和執行Scala解釋程式 --------------------------------------------- 1.下載scala-2.11.7.msi 2.管理員執行--安裝 3.進入scala/bin,找到scala.bat,管理員執行,進入scala命
《Oracle PL/SQL開發指南》學習筆記31——原始碼除錯——函式和過程(第四部分,物件表函式,result_cache子句)
建立一個物件表函式有三個步驟: 1. 定義記錄結構為物件型別 2. 定義集合 3. 定義一個函式來展示如何從PL/SQL上下文向SQL上下文返回集合 1. 建立基本的SQL使用者自定義型別(UDT) 注意:發現竟然不能使用distinct關
《Oracle PL/SQL開發指南》學習筆記31——原始碼除錯——函式和過程(第三部分,並行查詢及管道函式)
1. PARALLEL_ENABLE子句(啟用並行查詢以提高效能) 首次接觸,學習一下: PARALLEL_ENABLE lets you designate a function to support parallel query capabilities. This
SQL儲存過程,函式
儲存過程和函式的區別: 儲存過程可以沒有返回值,函式必須有返回值; // 語法 CREATE PROCEDURE 儲存過程名(引數列表) BEGIN 儲存過程體; END 引數模式 IN , OUT
MySQL儲存過程中的3種迴圈,儲存過程的基本語法,ORACLE與MYSQL的儲存過程/函式的使用區別,退出儲存過程方法
學無止境 部落格園 首頁 新隨筆 聯絡 訂閱 管理 隨筆-1968 評論-103 文章-4&
MySQL儲存過程(格式,變數,引數,流程控制...)
儲存過程 其實就是mysql語句組成的指令碼,也就是資料庫中儲存的一系列SQL命令的集合。 可以使用變數,條件判斷,流程控制等 優點 提高效能 減輕網路負擔 可以防止對錶的直接訪問 避免重複編寫SQL操作
關於sql server 在儲存過程中建立臨時表,並往臨時表中插入資料時出現亂碼的問題
此前在客戶一個繁體系統的sql server中執行儲存過程的時候出現亂碼,經查發現建立臨時表後,往臨時表中插入資料時得到的資料是亂碼的,所以檢視建立表的sql指令碼,經查需要將變數型別設定為
Navicat for SQL使用注意(設定預設字符集,外來鍵儲存不了)
最近用mysql+Navicat for sql開發專案時遇到了以下問題: 1.預設建立的資料庫,字符集編碼為:latin1 -- cp1252 West European 在資料庫中儲存中文時會出現亂碼錯誤 2.用Navicat給資料庫新增外來鍵約束時,儲存
mysql 5.0儲存過程(包括語法,符號)
ADDTIME (date2 ,time_interval ) //將time_interval加到date2 CONVERT_TZ (datetime2 ,fromTZ ,toTZ ) //轉換時區 CURRENT_DATE ( ) //當前日期 CURRENT_TIME ( ) //當前時間 CURR
MySQL定時任務event,儲存過程(定時刪除指定時間前90天指定表的資料)
<span style="font-family: 'Microsoft YaHei'; font-size: 14px;">MySQL定時任務event</span> 由
sql儲存過程,語句拼接,使用遊標
DECLARE @paramNameCh NVARCHAR(50) DECLARE @paramFoid NVARCHAR(50) SET @paramNameCh = '張三,李四,' SET @paramFoid = '441112197702157913,1
SQL計算兩個時間段的差,精確到秒(可用於倒計時)
declare @day int declare @hour int declare @min int declare @sec int declare @alls int set @alls=datediff(s,'2015-05-01 23:23:59',GETDATE
mybatis呼叫mysql儲存過程(返回引數,單結果集,多結果集)
一、接收一個返回值 使用Map接收返回引數,output引數放在傳入的param中 建立表 DROP TABLE IF EXISTS `demo`; CREATE TABLE `demo` ( `id` int(11) NOT NULL AUTO_INCREMEN
ObjectDataSource配合存儲過程(采用數據集)的使用(刪除可以解決,但是編輯出錯好像它的方法也無法解決
database true base fault 來源 window ble red rom 原文發布時間為:2008-08-01 —— 來源於本人的百度文章 [由搬家工具導入]ObjectDataSource是比较有
rtmp向IR601移植過程(無功能步驟,只有移植步驟)
安裝 crypto usr 默認 flag arch librtmp AR www 1.main.c中添加頭文件: #include "rtmp_sys.h" #include "log.h" #include "rtmp.h" 2.功能代碼編寫 3.添加頭文件地址 交