我创建了一个SP为“SP_SELECT”
CREATE PROCEDURE SP_SELECT @userid varchar(50)
AS
BEGIN
SELECT Dept_Id from Master where User_Id=@userid
END
GO
现在我的任务是将结果(即)Dept_Id 存储在同一存储过程本身的名为“dept”的变量中。帮我查询。
答案 0 :(得分: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
您也可以将@deptid作为输出参数传递给sql。
但是每次在调用函数或代码上运行存储过程时,这个var才会存在。
即。
Declare @masterdeptid int;
SET @masterdeptid = EXEC SP_Select '123';
我不是测试sql但是你明白了
答案 1 :(得分: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
答案 2 :(得分: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