繁体   English   中英

储存程序

[英]Stored procedures

我有一个存储过程,可以将用户插入表中,但是我希望输出值等于表中新插入的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
SELECT SCOPE_IDENTITY()

会给你行的身份

对于SQL Server,您要使用OUTPUT子句。 请参阅此处的联机丛书中的信息和示例。 它确实涵盖了您的情况-正如提到的那样:“在执行INSERT或UPDATE操作之后,OUTPUT子句可能对于检索标识或计算列的值很有用。”

(如果这是出于现实目的,那么在存储应解决的密码时,当然会涉及安全问题。)

最后添加

选择@@ Identity

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM