热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何在SQL中声明一个数组变量以及相关SQL语句应该怎么写?

CREATEPROCEDUREasp_cpbselect@ProductListAS--selectalldataSELECTcpid,cpbm,cla
CREATE PROCEDURE asp_cpbselect
@ProductList 
AS

    --select all data
    SELECT cpid,cpbm,class1,cpmc,sjg,yhj,gb,pp FROM cpb where Where cpbm IN (@ ProductList)   Order By cpid

GO
以上语句中@productlist是一个数组变量,应该怎么声明这个变量?而上面的SQL语句应该怎么写??

我是新手,请多多指教!

11 个解决方案

#1


SQL 中不能声名数组,不过你可以用定义的表来代替。

#2


能告诉我具体应该怎么实现吗?

#3


SQL 中不能声名数组,你可以用临时表来代替。

如下面的临时表格式:

1,aaa
2,cccc
3,ccc
4,dddd

#4


实在不知道该如何下手,我是用ASP设计程序,其中ProductList是数组:
sql = "Select cpid,cpbm,class1,cpmc,sjg,yhj,gb,pp From cpb"
sql = sql & " Where cpbm In (" & ProductList & ")"
sql = sql & " Order By cpid"

    现在该如何写这一存储过程?

#5


USE NorthWind

create table #tmp(ID int)

insert #tmp values(10248)
insert #tmp values(10249)
insert #tmp values(10250)
insert #tmp values(10251)

select * from #tmp
go

CREATE PROCEDURE asp_cpbselect
AS

    --select all data
    SELECT OrderID,CustomerID,EmployeeID,OrderDate,RequiredDate,ShippedDate,ShipVia,Freight
        FROM Orders Where OrderID IN (SELECT * FROM #tmp) Order By OrderID

GO

EXEC asp_cpbselect

#6


CREATE PROCEDURE asp_cpbselect
@ProductList varchar(8000)
AS

   exec('SELECT cpid,cpbm,class1,cpmc,sjg,yhj,gb,pp FROM cpb where Where cpbm IN ('+@ ProductList+')   Order By cpid')

GO

--调用


exec asp_cpbselect '''aa'',''bb'',''cc'''
--或:
exec asp_cpbselect '1,2,3,5'

#7


在asp里参数的形式: "'aa','bb','cc'"

#8


将@productlist以一个字符串的形式传入存储过程,然后进行字符串分割,插入到临时表,然后实现select 查询

#9


这个方法不错

#10


将@productlist以一个字符串的形式传入存储过程,然后进行字符串分割,插入到临时表,然后实现select 查询

这是好方法,可以用“,”或空格符作为分割点,Vbscript里有SPLIT这个函数,请问SQL SERVER怎样分割并插入临时表?

#11


TO:yoki(小马哥)和gaobochina(皮皮) 
=================================
将@productlist以一个字符串的形式传入存储过程,然后进行字符串分割,插入到临时表,然后实现select 查询
=================================
我觉得能这样做是最好的,怎么实现呢?

推荐阅读
author-avatar
王德筠宛吟玟华
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有