|
AskSQLTeam
Ask SQLTeam Question
0 Posts |
Posted - 2002-05-09 : 10:30:19
|
| john writes "Is is possible to pass an integer back from a sproc using the "RETURN" statement when you are using a transaction? When running the sproc below I get the following error: "A RETURN statement with a return value cannot be used in this context." but a simple "RETURN" runs. This seems like a basic feature but SQL Server 2K doesn't seem to support it.Any assistance is greatly appreciated!CREATE PROCEDURE qryInsertUser_NWP @lngSessionID int, @txtUserName varchar(20), @txtPassword varchar(20), @lngLanguage int, @txtAgencyName varchar(50)=NULL, @txtFirstName varchar(25), @txtLastName varchar(25), @txtLicense varchar(25)=NULL, @txtDesignation varchar(25)=NULL, @txtAddress1 varchar(35), @txtAddress2 varchar(35)=NULL, @txtCity varchar(15), @txtAdminNote text=NULL, @lngState int, @txtZip varchar(10), @txtPhone varchar(25)=NULL, @txtFax varchar(25)=NULL, @txtEmail varchar(100)=NULL, @txtAgentNumber varchar(15)=NULLASDECLARE @Initials varchar(2), @NewUserID INT,@FldID INTDECLARE @Error_User INTDECLARE @Error_Agent INTDECLARE @Error_Role INTDECLARE @RetError INT SELECT @Initials = UPPER(LEFT(tblAgents.txtFirstName,1)) + UPPER(LEFT(tblAgents.txtLastName,1)) FROM tblUserSessions INNER JOIN tblUsers ON tblUserSessions.lngUser = tblUsers.autUserID INNER JOIN tblAgents ON tblUsers.autUserID = tblAgents.FK_lngUser WHERE tblUserSessions.lngSessionID = @lngSessionIDBEGIN TRAN INSERT INTO tblUsers (txtUserName, txtPassword, txtAdminNote,FK_lngLanguage, dtiModified, txtByWho) VALUES (@txtUserName, @txtPassword,@txtAdminNote, @lngLanguage, getDate(), @Initials) SELECT @Error_User = @@error SELECT @NewUserID=@@Identity INSERT INTO tblAgents (FK_lngUser,txtAgencyName,txtFirstName,txtLastName,txtLicense,txtDesignation,txtAddress1,txtAddress2,txtCity, FK_lngState,txtZip,txtPhone,txtFax,txtEmail,txtAgentNumber) VALUES (@NewUserID,@txtAgencyName,@txtFirstName,@txtLastName,@txtLicense,@txtDesignation,@txtAddress1,@txtAddress2,@txtCity, @lngState,@txtZip,@txtPhone,@txtFax,@txtEmail,@txtAgentNumber) SELECT @Error_Agent = @@error --Add the user as a field agent to the roles table --Get the ID for the field agent role SELECT @FldID=tblRoles.PK_autRolesID from tblRoles WHERE txtRoleCode='FLD' INSERT INTO tblUserRoleLinks (FK_lngUser,FK_lngRole) VALUES (@NewUserID,@FldID) SELECT @Error_Role = @@error IF ((@Error_User <> 0 )AND (@Error_Agent <> 0) AND (@Error_Role <> 0)) BEGIN COMMIT TRAN SET @RetError = 0 --RETURN 0 END ELSE BEGIN SET @RetError = 1 ROLLBACK TRAN --RETURN 1 ENDRETURN @RetError" |
|