I have the following stored procedure that does produce the error specified under Management Studio 2008. But produces output under Management Studio 2012? Any ideas?
ALTER PROCEDURE SPU_IsoEmailUpdate
@isoNumber char(10),
@newEmailAddress varchar(40),
@userName varchar(50),
@oldEmailAddress varchar(40) output
AS
DECLARE @oldEmail varchar(40)
BEGIN TRANSACTION
SELECT @oldEmail = email FROM iso WHERE isonum = @isoNumber
SELECT @oldEmailAddress = @oldEmail
INSERT INTO IsoEmailHistory (isonum, oldemailaddress, newemailaddress, updatedate, username)
VALUES(@isoNumber, @oldEmail, @newEmailAddress, GETDATE(), @userName)
IF @@ERROR <> 0
BEGIN
ROLLBACK
RAISERROR('Error inserting new Email Address.', 16, 1)
RETURN
END
IF EXISTS (SELECT isonum FROM iso WHERE isonum = @isoNumber)
BEGIN
UPDATE iso SET email = @newEmailAddress
WHERE isonum = @isoNumber
END
IF @@ERROR <> 0
BEGIN
ROLLBACK
RAISERROR ('Error updating email Address.', 16, 1)
RETURN
END
COMMIT TRANSACTION
That's how I execute it:
declare @oldEmailValue varchar(40)
exec spu_isoemailupdate '222222222', 'testing@newemail.com', 'username', @oldEmailValue output
select @oldEmailValue 'OldEmail'
But it seems that I'm doing something wrong here, since I'm getting the following error:
"Procedure or function SPU_IsoEmailUpdate has too many arguments specified."
What am I doing wrong? Thank you