[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

microsoft.public.sqlserver.programming

Four table insert stored procedure SCOPE_IDENTITY

Sandy

3/30/2007 1:54:00 AM

Can someone tell me what I am doing wrong in the following procedure? When
I try to execute it, I get an error saying @LoanID was not supplied.

Alter PROCEDURE InsertIntoFourTables

-- For tblLoans
@DateEntered datetime,
@DisasterNo varchar(20),
@DCMSNo varchar(20),
@PMQDDueDate datetime,
@Department varchar(5),
@LoanType varchar(50),

-- For tblAddresses
@AddressLine1 varchar(100),
@AddressLine2 varchar(100),
@City varchar(50),
@State varchar(2),
@Zip varchar(20),

-- For tblBorrower
@BorrowerFirst varchar(50),
@BorrowerMI varchar(5),
@BorrowerLast varchar(50),
@BorrowerSuffix varchar(5),

-- For tblPhone
@PhoneNumber varchar(15),

-- Get identity keys
@LoanID int OUTPUT,
@BorrowerID int OUTPUT

AS
BEGIN
SET NOCOUNT ON;

Insert into tblLoans
Values
(@DateEntered,
@DisasterNo,
@DCMSNo,
@PMQDDueDate,
@Department,
@LoanType
)

Set @LoanID = SCOPE_IDENTITY()
Insert into tblAddresses
Values
(@AddressLine1,
@AddressLine2,
@City,
@State,
@Zip,
@LoanID
)

Insert into tblBorrower
Values
(@BorrowerFirst,
@BorrowerMI,
@BorrowerLast,
@BorrowerSuffix,
@LoanID
)
Set @BorrowerID = SCOPE_IDENTITY()
Insert into tblPhone
Values
(
@PhoneNumber,
@BorrowerID
)

END
GO

Any help will be greatly appreciated!

3 Answers

xyb

3/30/2007 2:58:00 AM

0

On 3?30?, ??9?54?, Sandy <S...@discussions.microsoft.com> wrote:
> Can someone tell me what I am doing wrong in the following procedure? When
> I try to execute it, I get an error saying @LoanID was not supplied.
>
> Alter PROCEDURE InsertIntoFourTables
>
> -- For tblLoans
> @DateEntered datetime,
> @DisasterNo varchar(20),
> @DCMSNo varchar(20),
> @PMQDDueDate datetime,
> @Department varchar(5),
> @LoanType varchar(50),
>
> -- For tblAddresses
> @AddressLine1 varchar(100),
> @AddressLine2 varchar(100),
> @City varchar(50),
> @State varchar(2),
> @Zip varchar(20),
>
> -- For tblBorrower
> @BorrowerFirst varchar(50),
> @BorrowerMI varchar(5),
> @BorrowerLast varchar(50),
> @BorrowerSuffix varchar(5),
>
> -- For tblPhone
> @PhoneNumber varchar(15),
>
> -- Get identity keys
> @LoanID int OUTPUT,
> @BorrowerID int OUTPUT
>
> AS
> BEGIN
> SET NOCOUNT ON;
>
> Insert into tblLoans
> Values
> (@DateEntered,
> @DisasterNo,
> @DCMSNo,
> @PMQDDueDate,
> @Department,
> @LoanType
> )
>
> Set @LoanID = SCOPE_IDENTITY()
> Insert into tblAddresses
> Values
> (@AddressLine1,
> @AddressLine2,
> @City,
> @State,
> @Zip,
> @LoanID
> )
>
> Insert into tblBorrower
> Values
> (@BorrowerFirst,
> @BorrowerMI,
> @BorrowerLast,
> @BorrowerSuffix,
> @LoanID
> )
> Set @BorrowerID = SCOPE_IDENTITY()
> Insert into tblPhone
> Values
> (
> @PhoneNumber,
> @BorrowerID
> )
>
> END
> GO
>
> Any help will be greatly appreciated!

you add some debug prints inside the proc to see if any error fired.

Aaron [SQL Server MVP]

3/30/2007 3:15:00 AM

0

If you try to execute it without the output variables defined, then yes, you
will get that error.

DECLARE @LoanID INT, @BorrowerID INT;
EXEC InsertIntoFourTables ...other variables..., @LoanID = @LoanID OUTPUT,
@BorrowerID = @BorrowerID OUTPUT;
PRINT @LoanID;
PRINT @BorrowerID;

--
Aaron Bertrand
SQL Server MVP
http://www.sq...
http://www.aspfa...

"Sandy" <Sandy@discussions.microsoft.com> wrote in message
news:5A642920-DE94-4C1F-A594-23998F2EC80E@microsoft.com...
> Can someone tell me what I am doing wrong in the following procedure?
> When
> I try to execute it, I get an error saying @LoanID was not supplied.
>
> Alter PROCEDURE InsertIntoFourTables
>
> -- For tblLoans
> @DateEntered datetime,
> @DisasterNo varchar(20),
> @DCMSNo varchar(20),
> @PMQDDueDate datetime,
> @Department varchar(5),
> @LoanType varchar(50),
>
> -- For tblAddresses
> @AddressLine1 varchar(100),
> @AddressLine2 varchar(100),
> @City varchar(50),
> @State varchar(2),
> @Zip varchar(20),
>
> -- For tblBorrower
> @BorrowerFirst varchar(50),
> @BorrowerMI varchar(5),
> @BorrowerLast varchar(50),
> @BorrowerSuffix varchar(5),
>
> -- For tblPhone
> @PhoneNumber varchar(15),
>
> -- Get identity keys
> @LoanID int OUTPUT,
> @BorrowerID int OUTPUT
>
> AS
> BEGIN
> SET NOCOUNT ON;
>
> Insert into tblLoans
> Values
> (@DateEntered,
> @DisasterNo,
> @DCMSNo,
> @PMQDDueDate,
> @Department,
> @LoanType
> )
>
> Set @LoanID = SCOPE_IDENTITY()
> Insert into tblAddresses
> Values
> (@AddressLine1,
> @AddressLine2,
> @City,
> @State,
> @Zip,
> @LoanID
> )
>
> Insert into tblBorrower
> Values
> (@BorrowerFirst,
> @BorrowerMI,
> @BorrowerLast,
> @BorrowerSuffix,
> @LoanID
> )
> Set @BorrowerID = SCOPE_IDENTITY()
> Insert into tblPhone
> Values
> (
> @PhoneNumber,
> @BorrowerID
> )
>
> END
> GO
>
> Any help will be greatly appreciated!
>


Sandy

3/30/2007 12:18:00 PM

0

Thanks, Aaron!
--
Sandy


"Aaron Bertrand [SQL Server MVP]" wrote:

> If you try to execute it without the output variables defined, then yes, you
> will get that error.
>
> DECLARE @LoanID INT, @BorrowerID INT;
> EXEC InsertIntoFourTables ...other variables..., @LoanID = @LoanID OUTPUT,
> @BorrowerID = @BorrowerID OUTPUT;
> PRINT @LoanID;
> PRINT @BorrowerID;
>
> --
> Aaron Bertrand
> SQL Server MVP
> http://www.sq...
> http://www.aspfa...
>
> "Sandy" <Sandy@discussions.microsoft.com> wrote in message
> news:5A642920-DE94-4C1F-A594-23998F2EC80E@microsoft.com...
> > Can someone tell me what I am doing wrong in the following procedure?
> > When
> > I try to execute it, I get an error saying @LoanID was not supplied.
> >
> > Alter PROCEDURE InsertIntoFourTables
> >
> > -- For tblLoans
> > @DateEntered datetime,
> > @DisasterNo varchar(20),
> > @DCMSNo varchar(20),
> > @PMQDDueDate datetime,
> > @Department varchar(5),
> > @LoanType varchar(50),
> >
> > -- For tblAddresses
> > @AddressLine1 varchar(100),
> > @AddressLine2 varchar(100),
> > @City varchar(50),
> > @State varchar(2),
> > @Zip varchar(20),
> >
> > -- For tblBorrower
> > @BorrowerFirst varchar(50),
> > @BorrowerMI varchar(5),
> > @BorrowerLast varchar(50),
> > @BorrowerSuffix varchar(5),
> >
> > -- For tblPhone
> > @PhoneNumber varchar(15),
> >
> > -- Get identity keys
> > @LoanID int OUTPUT,
> > @BorrowerID int OUTPUT
> >
> > AS
> > BEGIN
> > SET NOCOUNT ON;
> >
> > Insert into tblLoans
> > Values
> > (@DateEntered,
> > @DisasterNo,
> > @DCMSNo,
> > @PMQDDueDate,
> > @Department,
> > @LoanType
> > )
> >
> > Set @LoanID = SCOPE_IDENTITY()
> > Insert into tblAddresses
> > Values
> > (@AddressLine1,
> > @AddressLine2,
> > @City,
> > @State,
> > @Zip,
> > @LoanID
> > )
> >
> > Insert into tblBorrower
> > Values
> > (@BorrowerFirst,
> > @BorrowerMI,
> > @BorrowerLast,
> > @BorrowerSuffix,
> > @LoanID
> > )
> > Set @BorrowerID = SCOPE_IDENTITY()
> > Insert into tblPhone
> > Values
> > (
> > @PhoneNumber,
> > @BorrowerID
> > )
> >
> > END
> > GO
> >
> > Any help will be greatly appreciated!
> >
>
>
>