sql server存储过程出错

javaadu javaadu 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
--编写存储过程完成学生借用教室的功能,如果申请的教室有冲突,请给出提示。
create procedure[borrow_classroom_1]
(@Building_name [Varchar](50),--学生输入的教学楼号
@Classroom_id [Varchar](50),--学生输入的教室号
@Student_id [Varchar](50),--学生的ID
@Date [Datetime](8),--学生输入的教室日期
@Period [Varchar](50),--学生输入的借教室的时段
@Fun [Varchar](50),--学生输入的教室用途
@State [Varchar](50),--在存储过程中使用的变量,判断教室的使用状态
@bID [Varchar](50),--在存储过程中使用的变量,更新表时暂时存放教学楼号
@success [int] = output)--返回值,作为标志借教室是否成功的标志
as
begin
@success=0;
select CM_Classroom_fun into @State
from CM_Classroom ,CM_Building
where CM_Classroom_id=@Classroom_id and CM_Building.CM_Building_id=CM_Classroom.CM_Building_id
and CM_Building.CM_Building_name=@Building_name;
if @State is null then
--如果教室的使用状态为空闲,
--找到与教学楼名称相对应的教学楼编号
select CM_Building_id into @bID from CM_Building where CM_Building_name=@Building_name;
--更新教室表的相应教室的使用状态
update CM_Classroom set CM_Classroom_fun=@Fun where CM_Building_id=@bID
and CM_Classroom_id=@Classroom_id;
--插入一条借用教室的新纪录
Insert into CM_Borrow(CM_Building_id,CM_Classroom_id,CM_Student_id,CM_Borrow_date,
CM_Borrow_period,CM_Borrow_state)
Values(@bID,@Classroom_id,@Student_id,@Date,@Period,1);
--返回结果为true,表示借教室成功
@success = 1;
end if;
end


错误:
消息 102,级别 15,状态 1,过程 borrow_classroom_1,第 14 行
'@success' 附近有语法错误。
消息 102,级别 15,状态 1,过程 borrow_classroom_1,第 15 行
'@State' 附近有语法错误。
消息 156,级别 15,状态 1,过程 borrow_classroom_1,第 19 行
关键字 'then' 附近有语法错误。
消息 102,级别 15,状态 1,过程 borrow_classroom_1,第 22 行
'@bID' 附近有语法错误。
消息 102,级别 15,状态 1,过程 borrow_classroom_1,第 31 行
'@success' 附近有语法错误。
...全文

相关推荐

SQL SERVER数据库开发之存储过程应用.rar

存储过程还有助于代码重用和模块化。在大型数据库应用中,复杂的业务逻辑可以封装到存储过程中,避免了在应用程序代码中重复编写SQL。这样可以降低出错概率,提高代码可维护性。

weixin_39840914

sqlserver执行存储过程报错

确保存储过程在 SQL Server 中能够正常执行。调整 MyBatis 中存储过程的调用语法,确保输入和输出参数的处理方式正确。如果问题出现在 Druid 连接池中,可以考虑禁用 Druid 的 SQL 解析功能,避免不必要的 SQL 解析错误。你可以尝试调整上述部分,确保存储过程在 MyBatis 中能正确运行。希望如上措施及解决方案能够帮到有需要的你。

bug菌¹

SQL Server存储过程在Delphi开发环境下的应用

**易于维护**:存储过程一旦创建,即经过调试和优化,降低了出错概率,提高了系统的可维护性。#### 存储过程的创建与使用存储过程的创建通常在数据库管理系统的管理界面或者通过SQL脚本来完成。

tengen

带参数的sql和不带参数的sql存储过程区别第1/2页

带参数的SQL存储过程通常会提供更好的性能,因为它们能够利用SQL Server的查询计划缓存。当一个存储过程被首次执行时,SQL Server会编译该过程并创建一个执行计划。

weixin_38556394

SQL_Server存储过程调试指南

#### 六、结论调试SQL Server存储过程是一项技术性强且需要耐心的任务。通过理解和运用上述技巧,可以显著提高调试效率,减少出错概率。

大邦
评论 9
收藏 已收藏
分享
返回顶部
javaadu
javaadu 领域专家: 后端开发技术领域 领域专家: 后端开发技术领域
MS-SQL Server 34,876 成员 254,635 内容