我正在尝试将查询存储到变量中,这就是我正在做的事情:
@check int = [return_code] FROM [dbo].[RESULT] WHERE [code_test] = 'T3005_das'
返回代码字段仅包含0或1值。当我试图这样做时,这是我得到的错误消息:
Msg 156,Level 15,State 1,Procedure V116_T3005,Line 7
关键字“FROM”附近的语法不正确。
我真的不明白为什么它不能正常工作,因为我在网上跟踪了代码示例。
有什么想法吗?
编辑:这是我编辑过的程序:
CREATE PROCEDURE V116_T3005
DECLARE @check int
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
SELECT @check = [code_retour] FROM [dbo].[RESULTAT] WHERE [code_test] = 'T3005_das'
--logical code
END
现在我收到了这些错误:
Msg 156,Level 15,State 1,Procedure V116_T3005,Line 7
关键字'DECLARE'附近的语法不正确。Msg 156,Level 15,State 1,Procedure V116_T3005,Line 9
关键字“AS”附近的语法不正确。
答案 0 :(得分:1)
declare @check int
select @check = [return_code]
FROM [dbo].[RESULT]
WHERE [code_test] = 'T3005_das'
答案 1 :(得分:0)
如果@check是输出参数,则应省略单词declare
。如果不是,则应在 BEGIN
之后声明,如果是,我建议:
declare @check integer = (select [code_retour] FROM [dbo].[RESULTAT] WHERE [code_test] = 'T3005_das');
顺便说一句,您确定select [code_retour] FROM [dbo].[RESULTAT] WHERE [code_test] = 'T3005_das'
总是会返回一个值吗?否则将引发错误。