我有一个将用户插入到表中的存储过程,但是我希望输出值等于表中新插入的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发布于 2011-04-27 06:09:57
在末尾添加
select @@Identity
发布于 2011-04-27 06:09:48
SELECT SCOPE_IDENTITY()将为您提供行的标识。
发布于 2011-04-27 06:12:31
对于SQL Server,您需要使用OUTPUT子句。在这里查看Books Online中的信息和示例。它确实涵盖了您的情况--因为它提到“OUTPUT子句对于在INSERT或UPDATE操作之后检索identity或计算列的值可能很有用”。
(如果这是出于实际目的,那么您在存储密码时当然会有安全方面的顾虑,因为您应该解决这些问题。)
https://stackoverflow.com/questions/5797044
复制相似问题