CREATE PROC dt_cat
(
@category varchar(128),
)
as
BEGIN
SET NOCOUNT ON exec ('select o.id,o.userName,o.p_z_Z_Subject,o.imgProductId,o.productCatId,o.postDate,o.status,m.memberType,m.memberIndex,m.companyName,m.province,m.city,m.comeDate,m.endDate from offer o,member m where m.username=o.username and o.status = 'Y' and o.productCatid in (' + @category + ') order by o.postDate desc')SET NOCOUNT OFF
end
GO
(
@category varchar(128),
)
as
BEGIN
SET NOCOUNT ON exec ('select o.id,o.userName,o.p_z_Z_Subject,o.imgProductId,o.productCatId,o.postDate,o.status,m.memberType,m.memberIndex,m.companyName,m.province,m.city,m.comeDate,m.endDate from offer o,member m where m.username=o.username and o.status = 'Y' and o.productCatid in (' + @category + ') order by o.postDate desc')SET NOCOUNT OFF
end
GO
解决方案 »
- SQL2000升级到2008遇到的问题
- 同一种功能,在程序里实现好,还是在数据库里实现好?
- 数据库优化
- 同时在一台计算机上安装MySQL和SQL SERVER 2000有冲突吗?
- 如何导入数据库?文件类型是Database File
- 求一条SQL语句:如果有多条记录都一样,只有一个自动增量ID字段不一样,怎样把重复的纪录删除(只保留一条)
- left join联合查询
- MSSQL请教旧表导入到新表的语句
- msde问题, 关于SDK的ASP.NET快速入门的例程里,在有访问数据库的页面出现这种问题,
- 由BINARY VARCHAR 向 datetime 类型进行转换时出现的问题
- 由于数据移动,未能继续以nolock方式进行扫描
- 求助,SQL语句,看似容易,但不知怎么写
单个参数时, isnumeric(@category) = 1, 可以查出匹配记录.
多个参数时, isnumeric(@category) = 0, 当然查不到匹配记录.
set @sql='select * from tb where id in'+@category+''
exec(@sql)
set @sql='
select o.id,o.userName,o.p_z_Z_Subject,o.imgProductId,o.productCatId,o.postDate,o.status,m.memberType,m.memberIndex,m.companyName,m.province,m.city,m.comeDate,m.endDate from offer o,member m where m.username=o.username and o.status = 'Y' and o.productCatid in ('+@category+') order by o.postDate desc'
exec (sql)
(
@type varchar(8)
)
as
BEGIN
SET NOCOUNT ON
declare @sqlstr varchar(4000)
set @sqlstr=''
set @sqlstr='select o.*,m.* from offer o,member m where m.username=o.username and o.p_z_Z_Type = ' + @type + ' order by o.postDate desc'
exec (@sqlstr)
SET NOCOUNT OFF
end
GO
又在@type这里出错了,我用exec dt_trade_offer_cat "sale"调用,
提示:
服务器: 消息 207,级别 16,状态 3,行 1
列名 'sale' 无效。(所影响的行数为 1 行)
请各位再帮一下忙,完了就结贴,分不多,也是一份心意