久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2518|回復: 0
收起左側

MSSQL可編程函數

[復制鏈接]
ID:83710 發表于 2015-6-25 17:03 | 顯示全部樓層 |閱讀模式
       實習加上工作也有九個多月了,相對于在學校的兩年半里這九個月相當的充實但似乎還缺少什么。在沒有老師的摧殘下我還能茁壯的成長。從2.20號正式入職后也從學生正式步入社會崗位,從當初的什么都不懂在逐漸的學習、沉淀下領悟了生存的本領。
        程序人生、一條在自己高中時代就埋下的種子開始發芽了。。。

        GoodLuck!!!

        MSSQL數據庫在學校內老師曾給我們講結果,但是那種到最后一節課才參透“數據庫”是干什么用的人來說未免有些后知后覺。。。對于一個程序員來說過硬的編程基礎敏捷的邏輯思維固然重要。但是最后承載記錄這些結果與過程都需要一個載體,那他就是數據庫,顧名思義數據庫——“存儲數據的倉庫”。學生時代普遍的現象就是各種各樣的老師在4個月的時間內給你“SET”一種技能,而學生只用假期一個月的時間就給“Release”掉了。。。
        我也一樣、本來就不機靈再加記憶力。。。沒辦法自己重新找幾本有營養的數看,本來我的習慣是只用數據庫單純的“增”、“刪”、“改”、“查”,甚至于鏈表查詢都能不用就不用。但是受到項目經理吳哥的啟發,他說如果你讓數據庫替你處理一些簡單的邏輯那你前臺頁面就剩下顯示了。
        昨天查詢需要自己編寫了第一個可編程數據庫函數,在吳哥指導下順利完成、雖然比較簡單,但是凡事都是由淺入深的嗎、

SQL Server腳本源碼:
 

USE [JinZhiSuLiao]
GO
/****** Object:  UserDefinedFunction [dbo].[udf_GetSalesTable]    Script Date: 11/29/2014 10:48:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER FUNCTION [dbo].[udf_GetSalesTable](@aPlanTranDate DATETIME,@aType int)
RETURNS 
@S_Tabel TABLE(
CustomerId VARCHAR(50), -- 客戶Id
CustomerName VARCHAR(50), -- 客戶名稱
ProductId VARCHAR(50), -- 產品Id
ProductName VARCHAR(50), -- 產品名稱
UnitPrice decimal(9,3) DEFAULT 0.00, -- 單價
SingleWeight decimal(9,3) DEFAULT 0.00, -- 單個重量
TransportId VARCHAR(50), -- 運輸派車單詳細Id
AllNumber decimal(9,3) DEFAULT 0.00, -- 總數量
Allprice decimal(9,3) DEFAULT 0.00, -- 總金額
AllWeight decimal(9,3) DEFAULT 0.00, -- 總重量
EndNumber decimal(9,3) DEFAULT 0.00 -- 客戶結款的數量
)
AS
BEGIN

declare @dtMainTable table
(
cCTSC_ID varchar(50)
)
DECLARE @nMainCount INT -- 運輸派車單主表個數
IF(@aType = 0)
BEGIN
insert into @dtMainTable 
SELECT CTSC_ID from CRM_TransportSendCar WHERE CONVERT(DATETIME,CTSC_Date,120) = CONVERT(DATETIME,@aPlanTranDate,120)  
END
ELSE IF(@aType = 1)
BEGIN
insert into @dtMainTable 
SELECT CTSC_ID from CRM_TransportSendCar WHERE Datepart(YEAR,CTSC_Date) = Datepart(YEAR,@aPlanTranDate)  AND Datepart(month,CTSC_Date) = Datepart(month,@aPlanTranDate) 
END
-- 定義一個游標
DECLARE @CTSC_ID VARCHAR(50)
DECLARE curMainId CURSOR FOR
SELECT cCTSC_ID FROM @dtMainTable
OPEN curMainId
FETCH NEXT FROM curMainId INTO @CTSC_ID
WHILE  @@FETCH_STATUS = 0
BEGIN
-- 創建臨時變量
DECLARE @CustomerId VARCHAR(50) -- 客戶Id
DECLARE @CustomerName VARCHAR(50) -- 客戶名稱
DECLARE @ProductId VARCHAR(50) -- 產品Id
DECLARE @ProductName VARCHAR(50) -- 產品名稱
DECLARE @UnitPrice decimal(9,3) -- 單價
DECLARE @SingleWeight decimal(9,3) -- 單個重量
DECLARE @TransportId VARCHAR(50) -- 運輸派車單詳細Id
DECLARE @AllNumber decimal(9,3) -- 總數量
DECLARE @Allprice decimal(9,3) -- 總金額
DECLARE @AllWeight decimal(9,3) -- 總重量
DECLARE @EndNumber decimal(9,3) -- 客戶結款的數量
-- 運輸派車單子表查詢、一個主表對應一種產品
SELECT DISTINCT @CustomerId=CTSCD_CustomerID,@ProductId=CTSCD_ProductID,@UnitPrice=@UnitPrice FROM CRM_TransportSendCarDetails WHERE CTSCD_OrderID = @CTSC_ID
SELECT @CustomerName=CMC_Name FROM CRM_Customers WHERE CMC_ID = @CustomerId
SELECT @ProductName=BP_Name,@SingleWeight=BP_weight FROM BOM_Products WHERE BP_ID = @ProductId
SET @TransportId = @CTSC_ID
SELECT @AllNumber=SUM(CTSCD_OutNumbers) FROM CRM_TransportSendCarDetails WHERE CTSCD_OrderID = @CTSC_ID
SET @Allprice = @AllNumber * @UnitPrice
SET @AllWeight = @AllNumber * @SingleWeight
-- 客戶結余數量未填寫、2014-11-28當前未涉及到財務所以無法賦值——By:CaiYong
INSERT INTO @S_Tabel(CustomerId,CustomerName,ProductId,ProductName,UnitPrice,SingleWeight,TransportId,AllNumber,Allprice,AllWeight,EndNumber)
VALUES(@CustomerId,@CustomerName,@ProductId,@ProductName,@UnitPrice,@SingleWeight,@TransportId,@AllNumber,@Allprice,@AllWeight,@EndNumber)
FETCH NEXT FROM curMainId INTO @CTSC_ID
END
CLOSE curMainId;
DEALLOCATE curMainId;

RETURN 
END
  
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产视频综合 | 美女视频黄的免费 | 一级片视频免费观看 | 二区中文 | 欧美精品二区 | 免费一二区 | 四虎影视一区二区 | 夜操 | 日韩一区二区在线免费观看 | 亚洲最大av网站 | 操操操av | 久久美女网 | 国产一区二区在线播放 | 午夜视频在线播放 | 影音先锋中文字幕在线观看 | 在线视频亚洲 | 日韩欧美亚洲 | 日韩精品无码一区二区三区 | 精品免费国产视频 | 91一区二区| 91亚洲精品久久久电影 | 欧美成人精品一区二区男人看 | 国产电影一区二区 | 97伦理最新伦理 | 日韩影院在线 | 成人久久18免费网站图片 | 精品日韩一区二区 | 在线伊人| 综合久久久 | 老司机免费视频 | 福利网址| 成人精品一区亚洲午夜久久久 | 午夜国产在线 | 美女二区 | 久国久产久精永久网页 | 在线综合视频 | 久久视频精品 | 中文字幕欧美一区二区 | 天天看天天摸天天操 | 最新中文字幕一区 | 亚洲视频第一页 |