exec('select * from 表 where 列 in ('+@你的变量+')')
解决方案 »
- 怎样在group中使用having
- |zyciis| 问一下如何建立一个外建,但指定的某个值不进行约束 谢谢
- |zyciis| 求一个分页存储过程 我的表里面是没有主键的 然后要求按日期进行排序
- 关于新插入记录取ID的问题
- 小明兄请进!
- 用拨号服务嚣连接两台SQL_SERVER 死活都连求上啊!!为什么????
- 问题问题
- 请问设了 标识增量为1 的字段 如何 让其删除了全部记录后 新添的记录重新从编号1开始。
- SQL高手请入!
- 求一条能做成每天库存剩余的SQL
- 请问 有方法定期循环执行sql2000的存储过程的方法吗
- 大力啊,很急的问题。关于数据库联接的。触发器和存储过程都不起效果了。!大虾们帮帮忙。
如
DECLARE @ VARCHAR(100)
SET @ = '1,2,3'
EXEC ('SELECT * FROM SYSOBJECTS WHERE ID IN ('+ @ +')')
( @OrderIDs varchar(200), --用,号分开,形式为:'1','2','3'
@DeliveryMan varchar(20),
@ConsignerID varchar(30)
)
AS
BEGIN
select @CurrDate=convert(varchar(20),getdate(),20)
select @COrderNO='DL'+substring(@CurrDate,3,2)+substring(@CurrDate,6,2)+substring(@CurrDate,9,2)+substring(@CurrDate,12,2)+substring(@CurrDate,15,2)+substring(@CurrDate,18,2)
select @Errors=@Errors+@@error
if @Errors<>0
goto Err_Exit
insert into JT_DeliveryBill(DeliveryID,ConsignerID,GenerateDT,DeliveryMan,State)
values (@COrderNO,@ConsignerID,getdate(),@DeliveryMan,'生成计划')
declare Cursor1 cursor for
--该句找不到记录
select OrderID,GoodsID,GoodsName,RemainQty from JT_OrderDetail where RemainQty>0 and State=1 and cast(OrderID as varchar(20)) in (@OrderIDs)
--改为下面后有此处有语法错误
exec ('select OrderID,GoodsID,GoodsName,RemainQty from JT_OrderDetail where RemainQty>0 and State=1 and cast(OrderID as varchar(20)) in ('+@OrderIDs+')')
open Cursor1
set @OrderIDs='1,2'declare @qsql nvarchar(200)
set @qsql ='select OrderID,GoodsID,GoodsName,RemainQty from JT_OrderDetail where RemainQty>0 and State=1 and cast(OrderID as varchar(20)) in ('
set @qsql =@qsql+@aid+')'
execute sp_executesql @qsql
set @a='23,345,56'
exec('select 1 where 23 in ('+@a+')')证明是对的!2、你的游标写错了:
exec ('declare Cursor1 cursor for select OrderID,GoodsID,GoodsName,RemainQty from JT_OrderDetail where RemainQty>0 and State=1 and OrderID in ('+@OrderIDs+')')