etm*_*124 3 sql t-sql sql-server-2005
我的查询:
select
*
from
meet_cert_credit
where
conf_number = '1132'
and type_of_professional = 'Certified Hazardous Materials Managers'
Run Code Online (Sandbox Code Playgroud)
我的存储过程:
ALTER PROCEDURE [dbo].[sp_check_credit_info]
@cn varchar = NULL,
@top varchar = NULL
AS
BEGIN
SET NOCOUNT ON;
select
*
from
meet_cert_credit
where
Conf_number = @cn
and type_of_professional = @top
END
Run Code Online (Sandbox Code Playgroud)
调用我的存储过程:
exec sp_check_credit_info '1132', 'Certified Hazardous Materials Managers'
运行查询时,它返回结果.运行存储过程时,我什么也得不到.
我疯了吗?
您需要为varchar存储过程参数指定长度.
例如,@cn varchar(30)不要使用@cn varchar
目前您传入的所有内容都被截断为1个字符,因此您实际上正在进行以下搜索.
select
*
from
meet_cert_credit
where
Conf_number = '1'
and type_of_professional = 'C'
Run Code Online (Sandbox Code Playgroud)
因此没有结果.