数据的分多次插入临时表操作
来源:互联网 发布:编程小白 编辑:程序博客网 时间:2024/05/16 10:41
不知道大家遇到过没有,在过滤数据的时候,往往要把数据分好几次的插入到临时表中,而有时会发现第二次插入数据到临时表时,会报
仅当使用了列列表并且 IDENTITY_INSERT 为 ON 时,才能为表'card'中的标识列指定显式值,这样的错误。所以我把自己遇到的问题记录了下来,并解决了。以下是我解决后的源码:
ALTER PROC [dbo].[BeforePaymentC]
@eccUser int,
@wher varchar(2000)=''
AS
BEGIN
DECLARE @eccCode VARCHAR(8000)
DECLARE @ii INT
SET @eccCode=''
SET @ii=1
SELECT @eccCode=ISNULL(@eccCode,'')+CONVERT(VARCHAR(20),id)+',' FROM dbo.eccCollCard WHERE eccUser =@eccUser AND eccStatu=2
IF @eccCode<>''
BEGIN
SET @eccCode=SUBSTRING(@eccCode,0,LEN(@eccCode))
IF EXISTS(SELECT * FROM sysobjects WHERE NAME='#ttemp')
DROP TABLE #ttemp
--组装临时数据
WHILE @ii<=dbo.Get_StrArrayLength(@eccCode,',')
BEGIN
IF @ii=1
BEGIN
SELECT * INTO #ttemp FROM dbo.eccGoods WHERE ecgCK=dbo.Get_StrArrayStrOfIndex(@eccCode,',',@ii)
AND NOT EXISTS(SELECT *FROM eccPayment WHERE id=ecgXS and ecpStatu in(0,1))
SET IDENTITY_INSERT #ttemp ON
END
ELSE
BEGIN
INSERT INTO #ttemp (id,ecgCardCode,ecgStatus,ecgType,ecgInUser,ecgInDate,ecgChkInUser,ecgChkInDate,ecgGetUser,
ecgGetDate,ecgGetUser2,ecgGetDate2,ecgSale,ecgSalePrice,ecgUpPrice,ecgSaleDate,ecgPerid,ecgGetType,
ecgYearCard,ecgGoCar,ecgGoActDate,ecgPassWord,ecgGoUN,ecgGoMobi,ecgRC,ecgCK,
ecgXS,ecgStatu,ecgInterPrice) SELECT id,ecgCardCode,ecgStatus,ecgType,ecgInUser,ecgInDate,ecgChkInUser,ecgChkInDate,ecgGetUser,
ecgGetDate,ecgGetUser2,ecgGetDate2,ecgSale,ecgSalePrice,ecgUpPrice,ecgSaleDate,ecgPerid,ecgGetType,
ecgYearCard,ecgGoCar,ecgGoActDate,ecgPassWord,ecgGoUN,ecgGoMobi,ecgRC,ecgCK,
ecgXS,ecgStatu,ecgInterPrice FROM dbo.eccGoods WHERE ecgCK=dbo.Get_StrArrayStrOfIndex(@eccCode,',',@ii)
AND NOT EXISTS(SELECT *FROM eccPayment WHERE id=ecgXS and ecpStatu in(0,1))
END
SET @ii=@ii+1
END
IF @eccCode<>''
BEGIN
SET IDENTITY_INSERT #ttemp OFF
IF @wher='' OR @wher IS NULL OR LEN(@wher)=0
SELECT *FROM #ttemp
ELSE
EXEC('SELECT *FROM #ttemp WHERE '+ @wher)
END
END
END
go
- 数据的分多次插入临时表操作
- 如何把数据多次插入同一个临时表
- 表的数据插入相关操作(identity,临时表,获取表列)
- 一个利用创建临时表后插入数据的查询
- 将存储过程里的数据 插入临时表
- SQL Server 临时表的使用以及临时表数据插入问题
- 删除表数据并插入临时表
- map做js前端处理,用于多次操作临时保存数据
- 将查到的数据插入一个自增编号的临时表
- 把查询得到的数据插入到新的临时表中
- thinkphp3.2.3 临时表数据操作
- 用cursor提取表中所需的数据插入新临时表
- sqlserver 循环临时表插入数据到另一张表
- sql 创建临时表 并且插入多条数据
- 插入数据到临时表及去重复语句
- MySql 存储过程 临时表 无法插入数据
- 插入查找数据的操作
- sql 脚本 向临时表中插入数据, 存储过程结果集插入到临时表中
- 曼昆 宏观经济学 第五版 读后感
- hdu3400_嵌套三分
- 发布一个采用boost::asio写的异步网络通信模块
- mondrian schema 文件解析
- Symbian http 编程总结
- 数据的分多次插入临时表操作
- pjsip主叫与被叫代码
- Smarty模板引擎应用
- 大端(Big Endian)与小端(Little Endian)详解
- 关于设备内容
- 如何使用已连接的接入点
- Ubuntu10.10中不能安装VMware tools的解决方案
- Oracle方案的导入与导出
- [项目管理]团队管理中的起点:尊重