У меня есть куча скриптов (SQL команд) вот что я хотел бы использовать в качестве хранимой процедуры .. Кто-нибудь может помочь ..Преобразовать этот SQL sript в хранимой процедуре
причина, почему я хочу, чтобы преобразовать этот сценарий для удобства использования в моем запросе веб-приложения.
/* 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?
Дополнительно:
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','[email protected]'
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 дочитал SPROCs - когда/где они полезны, и как их создавать, и т.д. Вы хотите удалить DDL (изменить таблицу), если это возможно. В этом случае было бы лучше всего полностью исключить таблицу temp (или «column»), но это не имеет ничего общего с «преобразованием в хранимую процедуру». – user2864740
Вы хотите удалить дубликат? –
@wewesthemenace .. Да .. Я хочу удалить дубликат .. Я имею в виду, что это идея сценария, который я хотел сделать. – Anaiah