我有一个将用户插入表中的存储过程,但是我希望输出值等于表中新插入的UserID
,但我不知道怎么做才能帮助我吗?
我有这个
ALTER PROCEDURE dbo.st_Insert_User
(
@Nombre varchar(200),
@Usuario varchar(100),
@Password varchar(100),
@Administrador bit,
@Resultado int output
)
AS
INSERT INTO tbl_Users(Nombre, Usuario, Password, Administrador)
VALUES(@Nombre, @Usuario, @Password, @Administrador)
SELECT @resultado = UserID
我也试过
SELECT @resultado = UserID FROM tbl_Users WHERE Usuario = @Usuario
答案 0 :(得分:3)
SELECT SCOPE_IDENTITY()
将为您提供行
的标识答案 1 :(得分:3)
对于SQL Server,您希望使用OUTPUT子句。请参阅Books Online中的信息和示例。它确实涵盖了你的情况 - 因为它提到“在INSERT或UPDATE操作之后,OUTPUT子句可能对检索身份或计算列的值很有用。”
(如果这是出于现实目的,您当然会在存储应该解决的密码时遇到安全问题。)
答案 2 :(得分:0)
最后添加
选择@@ Identity