在MS SQL2005中,创建带有通配符的存储过程中,如果通配符对应在查询表字段是INT类型,那么在创建存储过程时,对应通配符的参数必须声明为“字符串类型”。

 例如:

 创建一个表。

 CREATE TABLE students

 (id    INT,

 [naem] VARCHAR(10),

 sex    VARCHAR(2),

 adress VARCHAR(25)

 )


插入三行数据

 INSERT INTO students

 VALUES('2013001','张三','男','上海')  

 INSERT INTO students

 VALUES('2013002','李四','女','北京')

 INSERT INTO students

 VALUES('2013003','王五','男','广州')


创建带有通配符的存储过程


CREATE PROC S

@id VARCHAR(10)='%'/* 参数如果声明为INT类型,会报错:从数据类型 varchar 转换为int时出错*/

AS

 SELECT * FROM students    

 WHERE id like @id