Phi*_*hil 8 sql t-sql sql-server oop stored-procedures
此存储过程不起作用.我检查了SQL,并在直接解析到DB时返回正确的值.真奇怪啊!它只返回0行.
可能有什么不对?
ALTER PROCEDURE dbo.GetSaltOfUser ( @eMail nvarchar ) AS DECLARE @result nvarchar /* SET NOCOUNT ON */ BEGIN SELECT @result = salt FROM UserSet WHERE eMail = @eMail RETURN @result END
@eMail nvarchar
Run Code Online (Sandbox Code Playgroud)
将传入的电子邮件截断为一个字符.你需要加长.例如
@eMail nvarchar(50)
Run Code Online (Sandbox Code Playgroud)
这应该匹配相关列的数据类型 UserSet
你真的想要使用返回代码,或者你想使用一个output parameter或许只是一个标量选择?
ALTER PROCEDURE dbo.GetSaltOfUser
(
@eMail nvarchar (50), /*Should match datatype of UserSet.eMail*/
@salt nvarchar (50) OUTPUT /*Should match datatype of UserSet.salt*/
)
AS
BEGIN
SET NOCOUNT ON
SELECT @result = salt
FROM UserSet
WHERE eMail = @eMail
END
Run Code Online (Sandbox Code Playgroud)
并称之为
DECLARE @salt nvarchar(50)
EXECUTE dbo.GetSaltOfUser N'abc@example.com', @salt OUTPUT
SELECT @salt
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3207 次 |
| 最近记录: |