sql >> Databáze >  >> RDS >> Sqlserver

Jak spustit uloženou proceduru v jiné uložené proceduře na serveru SQL

Zkuste toto

Předpokládejme, že máte jednu uloženou proceduru, jako je tato

První uložená procedura:

Create  PROCEDURE LoginId
     @UserName nvarchar(200),
     @Password nvarchar(200)
AS
BEGIN
    DECLARE  @loginID  int

    SELECT @loginID = LoginId 
    FROM UserLogin 
    WHERE UserName = @UserName AND Password = @Password

    return @loginID
END

Nyní chcete volat tuto proceduru z jiné uložené procedury, jak je uvedeno níže

Druhá uložená procedura

Create  PROCEDURE Emprecord
         @UserName nvarchar(200),
         @Password nvarchar(200),
         @Email nvarchar(200),
         @IsAdmin bit,
         @EmpName nvarchar(200),
         @EmpLastName nvarchar(200),
         @EmpAddress nvarchar(200),
         @EmpContactNo nvarchar(150),
         @EmpCompanyName nvarchar(200)

    AS
    BEGIN
        INSERT INTO UserLogin VALUES(@UserName,@Password,@Email,@IsAdmin)

        DECLARE @EmpLoginid int

        exec @EmpLoginid= LoginId @UserName,@Password

        INSERT INTO tblEmployee VALUES(@EmpName,@EmpLastName,@EmpAddress,@EmpContactNo,@EmpCompanyName,@EmpLoginid)
    END

Jak jste viděli výše, můžeme volat jednu uloženou proceduru z jiné




  1. Proč je přetypování z float na varchar v SQL Serveru zaokrouhleno?

  2. SQL - Počet změn v seřazeném seznamu

  3. CHARINDEX() vs PATINDEX() v SQL Server – jaký je rozdíl?

  4. Jak dekódovat hex bajtového sloupce PostgreSQL na int16/uint16 v r?