SQL存储过程??

我的数据库名称是111GOUSE111PROCEDUREQuery_Study(@snochar(6),@snchar(20)OUTPUT,@deptchar(10)OU... 我的数据库名称是111
GO
USE 111
PROCEDURE Query_Study
(
@sno char(6),
@sn char(20) OUTPUT,
@dept char(10) OUTPUT
set @sn=sn,
set @dept=dept,
)AS
Select sn,dept FROM s WHERE sno=@sno
GO
这个是我的一个存储过程,麻烦大侠帮忙看下错误 USE后面是接数据库名称的吧
能够帮我把参数解释一下吗??谢谢啦 .....
展开
 我来答
坐而论测
2010-11-17 · TA获得超过158个赞
知道答主
回答量:49
采纳率:0%
帮助的人:22.7万
展开全部
错误确实相当的多,建议你找本书看看。
下面说说你你这个存储过程出现的错误吧。
1、【USE 111 】不是必要的,但是你写了也没错,只要你写的数据名对,并且你确实想把这个存储过程创建在这个数据库中。
2、【PROCEDURE Query_Study】缺少一个关键字CREATE (创建)或 ALTER (更改)。
3、【set @sn=sn,】和【set @dept=dept,】不应该写在参数位置。应该在AS关键字下面。
4、建议你在AS后写上Begin ......END 关键字。
5、建议你在在前面加上一段判断是否存在你要写的 存储过程。
改好后如下

USE 111

IF EXISTS (
SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE SPECIFIC_NAME = N'Query_Study'
)
DROP PROCEDURE Query_Study
GO

CREATE PROCEDURE Query_Study
(
@sno char(6),
@sn char(20) OUTPUT,
@dept char(10) OUTPUT

)AS
BEGIN
Select @sn = sn,@dept = dept FROM s WHERE sno=@sno
END
GO
另外建议你的存储过程的名字使用 PRC_XXXX
或P_XXXXXX
光点科技
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件... 点击进入详情页
本回答由光点科技提供
JG_陈
2010-11-16 · TA获得超过206个赞
知道小有建树答主
回答量:651
采纳率:100%
帮助的人:384万
展开全部
错误的不成样子!
1、不需要Use 111
2、Set语句在声明内

。。。。
问题多了去了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式