繁体   English   中英

如何从表(SQL Server数据库)中将值选择为参数(存储过程)?

[英]How to select values from a table (SQL Server database) into a parameter (Stored Procedure)?

我正在尝试从表(SQL Server数据库)中将几个值选择为几个参数(存储过程),这是我所做的:

CREATE PROCEDURE [dbo].ValidateStudent
(
    @UserName varchar(50),
    @Password varchar(50),
    @Yes_No int OUTPUT,
    @StudentId int OUTPUT
)
AS
    SET NOCOUNT ON;
SELECT        @Yes_No = COUNT(*)
FROM            Student
WHERE        (UserName = @UserName) AND (Password = @Password)
SELECT        @StudentId = StudentId
FROM            Student
WHERE        (UserName = @UserName) AND (Password = @Password)

由于我不确定实现上述内容的正确方法,因此我需要了解的几件事:

  1. 如上面在1个存储过程中的查询中那样,在2条select语句中选择2个值在语法上是否有效?
  2. 我编写查询以从表中选择值作为参数的方式有效还是可以使用?

请告诉我以上查询是否有效,如果无效,则建议我使用相同的有效查询。

谢谢,

您可以使用一个SELECT填充两个参数值

CREATE PROCEDURE [dbo].ValidateStudent
(
    @UserName varchar(50),
    @Password varchar(50),
    @Yes_No int OUTPUT,
    @StudentId int OUTPUT
)
AS
    SET NOCOUNT ON;
SELECT        @StudentId = StudentId, @Yes_No = COUNT(1)
FROM            Student
WHERE        (UserName = @UserName) AND (Password = @Password)
GROUP BY StudentId

就是说,@ Yes_No的值是否不会始终为1,除非您有多个具有相同UserNamePassword学生?

暂无
暂无

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

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