这个存储过程哪里错了?
@cardsCode char(10),
@giftCode varchar(50)
AS
declare @s nvarchar(4000)
set @s='select * from table_GiftGiving where 1=1 '
if @cardsCode<>''
set @s=@s + ' and cardsID in (select cardsID from table_Cards where
cardsCode='+@cardsCode+') '
if @giftCode<>''
set @s=@s + ' and giftID in (select giftID from table_Gift where
giftCode like %'+@giftCode+'%)'
EXEC (@s)
GO
在程序中执行,报错“第1行,‘01’附近有语法错误。”
注:01是变量@giftCode的值
怎么回事?请帮忙看看
相关推荐
MATLAB图像错切_matlab_图像处理_水平错切_图像错切_
读入一幅图像,对其进行水平错切、垂直错切
MySQL存储过程综述及如何使用Navicat创建存储过程
一、什么是MySQL存储过程? 在大型项目中,有时候需要重复执行能够完成特定功能的SQL语句集,而MySQL为我们提供了存储过程的概念,存储过程是数据库中的一个重要对象,它是存储在数据库中的一组完成特定功能的SQL语句集。它第一次编译后,只要没有修改,处处都可以直接调用且不用重新编译,用户通过指定存储过程的名字和参数(若该存储过程存在参数)来执行它。 二、存储过程的特点 1:能够完成复杂的判断和运算; 2:可编程性强,且使用灵活; 3:可重复使用SQL编程代码; 4:执行速度相对较快; 5:能够减少网络之间的传输开销 三、Navicat创建一个存储过程 (1):先选择某个数据库中的函
存储过程
1、什么是存储过程? 把一堆SQL语句放在一起,还可以根据条件执行不通SQL语句。 2、为什么要使用存储过程? 比单纯SQL语句执行要快。 3、存储过程优点: 1.允许模块化的设计,就是说只需创建一次,以后在该程序中就可以调用多次。 2.如果某次操作需要执行多次SQL ,使用存储过程比单纯SQL语句执行要快。 3.可重复使用,能减少网络流量,还具有安全性。 4、存储过程缺点: 1.调试麻烦,但是用 PL/SQL Developer 调试很方便!弥补这个缺点。 2.移植问题,数据库端代码当然是与数据库相关的。但是如果是做工程型项目,基本不存在移植问题。 3.重新编译问题。 存储过程规范写法 -
ORACLE存储过程最全教程
超实用最全的ORACLE教程
Java调用存储过程的2种方法
Java调用存储过程的2种方法 Java调用存储过程的2种方法 Java调用存储过程的2种方法



