Ich habe derzeit die folgende gespeicherte Prozedur;GESPEICHERTE VERFAHREN Berechnungen und Leistungsverbesserungen
CREATE PROCEDURE web.insertNewCampaign
(
@tmp_Id BIGINT,
@tmp_Title VARCHAR(100),
@tmp_Content VARCHAR(8000),
@tmp_Pledge DECIMAL(7,2),
[email protected]_Recipients BIGINT,
@tmp_Date DATETIME,
@tmp_Private BIT,
@tmp_Template BIGINT,
@tmp_AddyBook BIGINT
)
AS
declare @recipients BIGINT
declare @tmp_IDENTITY BIGINT
declare @fave BIGINT
declare @allocation VARCHAR(50)
--insert campaign data
BEGIN TRAN
SELECT @recipients = addMaster_NoRecipients FROM tbl_AddressBookMaster
WHERE addMaster_UserId = @tmp_Id AND addMaster_Key = @tmp_AddyBook;
INSERT INTO TBL_CAMPAIGNS ([campaign_MemberId], [campaign_Title], [campaign_Content], [campaign_Pledge], [campaign_Date], [campaign_Private], [campaign_Template], [campaign_AddressBook], [campaign_Recipients])
VALUES (@tmp_Id, @tmp_Title, @tmp_Content, @tmp_Pledge, @tmp_Date, @tmp_Private, @tmp_Template, @tmp_AddyBook, @recipients)
SELECT @tmp_IDENTITY = SCOPE_IDENTITY() --this returns the newly added IDENTITY ID
COMMIT
......
So habe ich 2 Fragen:
1) Wie ich durch @recipients teilen @tmp_Pledge Sie geben @allocation zB: (@ Zuordnung = @tmp_Pledge/@recipients)
2) Ist es möglich, diese Anweisungen in eine (n) effizientere (n) Anweisung (en) mit @allocation zusammenzufassen, die effektiv als Wert in die Spalte [campaign_RecipShare] eingefügt wird und die Notwendigkeit für diese deklarierten Variablen reduziert?
Vielen Dank für jede Hilfe, die Sie für beide Fragen anbieten können.
;-)
Sieht gut aus, aber der SQL-Manager wird es nicht kompilieren. Die zweite Referenz von addMaster_NoRecepipients ist nicht ein gültiger Spaltenname. – Munklefish