我正在使用Server 2008在SQLFiddle中构建一个查询。此查询是一个选择信息的过程。我不能发布查询本身,但我可以发布围绕该过程的语法:
CREATE PROCEDURE BusinessInfo
@Variable VarChar(10)
AS
BEGIN
SELECT Info.*
FROM Table Info
WHERE Info.PersonKey = @Variable
ORDER BY Info.LastName
END
GO
EXECUTE BusinessInfo '1'
GO问题是,不管我做什么,一旦我输入创建过程,它就什么也不返回。我甚至建立了这个过程,然后说结束,然后重写整个过程查询,然后它什么都没有撤回,然后我删除了这个过程,它撤回了我正在寻找的信息。我做错了什么?
如果需要一个工作示例,这将适用于SQLFiddle中的任何模式
CREATE PROCEDURE Sample
AS
BEGIN
SELECT 'Information'
END
GO
EXECUTE Sample
GO发布于 2015-08-24 20:51:40
可能的解决办法:
1)更改为此(默认终止符为分号):SqlFiddleDemo
CREATE PROCEDURE Sample
AS
BEGIN
SELECT 'Information'
END;
EXECUTE Sample2)使用第四个按钮更改查询终止符,这样您的示例就可以工作了。

选择GO作为结束符后的代码
CREATE PROCEDURE BusinessInfo
@Variable VarChar(10)
AS
BEGIN
SELECT Info.*
FROM Table Info
WHERE Info.PersonKey = @Variable
ORDER BY Info.LastName
END
GO
EXECUTE BusinessInfo '1'
GO基于文档
,这是怎么回事;每个面板下的按钮? 这个模糊的小按钮决定了每个面板中的查询在发送到数据库之前是如何被分解的。这个按钮会弹出一个下拉列表,列出不同的“查询终止器”。查询终止符用作指示当前语句已结束的标志(当出现在行尾时)。终止符不会被发送到数据库;相反,它只是在执行查询之前对文本进行解析。 通常,您不需要单击此按钮;此功能的主要价值在于定义存储过程。这是因为通常情况下,在存储过程的主体定义中,您可能希望用分号结束一行(通常是这样)。因为我的默认查询终止符也是分号,所以没有明显的方法可以看出存储过程的分号实际上不是查询的结尾。在分号结束符的左边,我会将您的过程定义分解为不正确的部分,并且肯定会导致错误。将查询终止符更改为分号以外的内容可避免此问题。
https://stackoverflow.com/questions/32191458
复制相似问题