-2

「SP_SELECT」としてSPを作成しました

CREATE PROCEDURE SP_SELECT @userid varchar(50)
AS
BEGIN
SELECT Dept_Id from Master where User_Id=@userid
END
GO

ここでのタスクは、結果 (つまり) Dept_Idを、同じストアド プロシージャ自体の"dept"という名前の変数に格納する必要があることです。クエリを手伝ってください。

4

3 に答える 3

0

これはあなたに役立つかもしれません

CREATE PROCEDURE USP_SELECT @userid varchar(50), @Dept int output
AS
BEGIN
      SELECT @Dept = Dept_Id from Master where User_Id=@userid
END

上記のコードは次のように実行できます

Declare @Dept int;
EXEC USP_Select '123',@Dept output
Print @Dept
于 2013-05-27T13:14:09.820 に答える
0

これを試してください

set  @dept= (select Dept_Id from Master where User_Id=@userid)

この値をフロントエンドに返したい場合は、以下のコードを記述します

set  @dept= (select Dept_Id from Master where User_Id=@userid)
select @dept
于 2013-05-03T12:13:54.810 に答える
0

これのことですか?

CREATE PROCEDURE SP_SELECT @userid varchar(50)
AS
BEGIN
      DECLARE @deptid int;

      SET @deptid = SELECT Dept_Id from Master where User_Id=@userid
END
RETURN @deptid
GO

SQL の出力パラメーターとして @deptid を渡すこともできます。

ただし、この var は、値を保存する必要がある呼び出し元の関数またはコードでストアド プロシージャが実行されるたびにのみ存在します。

すなわち

Declare @masterdeptid int;
SET @masterdeptid = EXEC SP_Select '123';

私はSQLをテストしていませんが、あなたはアイデアを得る

于 2013-05-03T11:43:28.263 に答える