【发布时间】:2015-06-17 00:43:08
【问题描述】:
我在这里有一些脚本(sql 命令),我想用作存储过程..任何人都可以提供帮助..
我想转换此脚本的原因是为了便于在我的 Web 应用程序查询中使用。
/* 1. Select all the duplicates */
SELECT
[PTAID]
,[RequestID]
,[RequestDate]
,[ProvName]
,[Amount]
,[INorOUT]
,[Supplier]
,[Customer]
,[Program]
,[IssueDesc]
,[Chargeable]
, COUNT(*) as [Count]
FROM [PFTracking].[dbo].[TempTable]
GROUP BY
[PTAID],[RequestID]
,[RequestDate]
,[ProvName]
,[Amount]
,[INorOUT]
,[Supplier]
,[Customer]
,[Program]
,[IssueDesc]
,[Chargeable]
HAVING
COUNT(*) > 1
--2. Add Temp Column
alter table [PFTracking].[dbo].[TempTable]
add sno int identity(1,1)
-- 3. Remove duplicates
delete from [PFTracking].[dbo].[TempTable]
where sno in(select sno
from (
select *,RANK()
OVER ( PARTITION BY [PTAID],[RequestID]
,[RequestDate]
,[ProvName]
,[Amount]
,[INorOUT]
,[Supplier]
,[Customer]
,[Program]
,[IssueDesc]
,[Chargeable] ORDER BY sno DESC )rank
From [PFTracking].[dbo].[TempTable])T
where rank>1 )
alter table [PFTracking].[dbo].[TempTable] drop column sno
谁能帮我在 ASP.NET Web App 上调用这个存储过程?
补充:
if not exists(select * from sys.servers where name=N'CNCTC-WEB01')
begin
exec sp_addlinkedserver @server='CNCTC-WEB01'
exec sp_addlinkedsrvlogin 'CNCTC-WEB01','false',null,'svc_Phils','Apple@6'
end
INSERT INTO [PFTracking].[dbo].[TempTable]
SELECT
c.[pf_id]
,a.[RequestDate]
,c.[pf_carrierUsed]
,b.[PiecePrice] * b.[PartQuantity] as [Amount]
,c.[pf_type]
,c.[pf_resSupplier]
,c.[pf_resCustomer]
,c.[pf_trailerNum]
,b.[PartDesc]
,c.[pf_chargeBack]
,c.[pf_chargetoPlant]
FROM [CNCTC-WEB01].[NOP_PR].[dbo].[Requests] a
JOIN [CNCTC-WEB01].[NOP_PR].[dbo].[Parts] b on a.[RequestID] = b.[RequestID]
JOIN [PHRIZ-WEBAPP01].[PFTracking].[dbo].[Tbl_PFExcel] c on b.[PartNumber] like '%'+c.pf_id+'%'
where a.[EntityName] like '%PTA'
AND a.[RequestDate] between '2015-04-20 00:00:00.000' AND GETDATE()
【问题讨论】:
-
第 1 步阅读 SPROC - 何时/何地有用,以及如何创建它们等。如果可能,您将希望删除 DDL(更改表)。在这种情况下,最好完全消除临时表(或“列”)......但这与“转换为存储过程”无关。
-
要删除重复项吗?
-
@wewestthemenace .. 是的 .. 我想删除重复的 .. 我的意思是这就是我想做的脚本的想法 ..
标签: c# sql-server stored-procedures webforms web-application-project