这个存储过程怎么不对了?
DECLARE @DepName nvarchar(50)
DECLARE @ClassNo varchar(50)
DECLARE @StudentName nvarchar(50)
SET @DepName = '计算机'
--定义初始化的SQL语句,这个SQL语句用于最基本的查询
DECLARE @Sql Nvarchar(500)
SET @Sql = '
SELECT Stu.StudentID, Stu.ClassNo, Stu.StudentName,Dep.DepName, Sub.SubjectName, Gra.Grades
FROM Student Stu, Department Dep, Subject Sub, Grade Gra
WHERE Stu.DepID = Dep.DepID
AND Gra.StudentID = Stu.StudentID
AND Gra.SubjectID = Sub.SubjectID
'
--根据查询条件修改查询语句
IF @DepName !=''
BEGIN
SET @Sql = @Sql + 'AND Dep.DepName = ' + @DepName
END
IF @ClassNo !=''
BEGIN
SET @Sql = @Sql +' AND Stu.ClassNo = ' + @ClassNo
END
IF @StudentName != ''
BEGIN
SET @Sql = @Sql +' AND Stu.StudentName =' + @StudentName
END
-- print @Sql
EXEC sp_executesql @Sql
Go
错误提示:列名 '计算机' 无效。
*数据表中有'计算机'
...全文
相关推荐
mysql 存储过程判断重复的不插入数据
主要介绍了下面是一个较常见的场景,判断表中某列是否存在某值,如果存在执行某操作,需要的朋友可以参考下
不固定参数的存储过程实现代码
我们知道存储过程是不支持不固定参数情况的(包括数组参数),可是有时候我们的参数又必须是不固定的,怎么办呢?
c#后台生成不重复的订单号及后台存储过程
SQL,C#,不重复编码,订单号 1. C#后台封装方法 通用获取最大单据编号, 可以生成以下3个类型的单号 CG1603-000001 CG201603-000001 CG20160321-000001
绩效评价表格,你填对了吗?.pdf
绩效评价表格,你填对了吗?.pdf
MySQL存储过程综述及如何使用Navicat创建存储过程
一、什么是MySQL存储过程? 在大型项目中,有时候需要重复执行能够完成特定功能的SQL语句集,而MySQL为我们提供了存储过程的概念,存储过程是数据库中的一个重要对象,它是存储在数据库中的一组完成特定功能的SQL语句集。它第一次编译后,只要没有修改,处处都可以直接调用且不用重新编译,用户通过指定存储过程的名字和参数(若该存储过程存在参数)来执行它。 二、存储过程的特点 1:能够完成复杂的判断和运算; 2:可编程性强,且使用灵活; 3:可重复使用SQL编程代码; 4:执行速度相对较快; 5:能够减少网络之间的传输开销 三、Navicat创建一个存储过程 (1):先选择某个数据库中的函


应用实例

