首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

游标往临时表插入数据,最后一行没插进去解决方法

2012-09-12 
游标往临时表插入数据,最后一行没插进去SQL code---------------临时表##tb--CREATE TABLE ##t (stockcode

游标往临时表插入数据,最后一行没插进去

SQL code
---------------临时表##tb--CREATE TABLE ##t (stockcode int)--drop table ##tDECLARE @CurrStockCode VARCHAR(50)SET @CurrStockCode = ''DECLARE @StockCode VARCHAR(50)  DECLARE stock_cursor CURSORFOR SELECT STOCKCODE from (-----查询数据select * from stockinfo) as tbyybOPEN stock_cursorFETCH NEXT FROM stock_cursor INTO @StockCodeWHILE @@FETCH_STATUS=0 --上一个fetch是否读取到了数据      BEGIN               IF @CurrStockCode <> @StockCode        BEGIN            IF LEN(@CurrStockCode) > 0            BEGIN                --PRINT 'code' + @CurrStockCode                insert into ##t select  @CurrStockCode            END                                    SET @CurrStockCode = @StockCode                    END        FETCH next FROM stock_cursor INTO @StockCode    END  CLOSE stock_cursorDEALLOCATE stock_cursor------------表和数据脚本create table stockinfo(stockcode int)insert into stockinfo values(1)insert into stockinfo values(2)insert into stockinfo values(3)insert into stockinfo values(4)insert into stockinfo values(5)



我貌似没分,好人帮忙解决下!
先谢谢了

[解决办法]
IF LEN(@CurrStockCode) >= 0试试,没用过游标,猜的

[解决办法]
OPEN stock_cursor

set @CurrStockCode = 0

FETCH NEXT FROM stock_cursor INTO @StockCode
[解决办法]
SET @CurrStockCode = ''

这里赋值问题

因为stockcode 是int 类型的
SET @CurrStockCode = '' 和int 比较的时候 空会被隐式转换为0

但是LEN('')=0

所以游标的第一次执行的时候 第二个条件不成立
[解决办法]
SQL code
insert into ##t select  @CurrStockCode改成insert into ##t select  @StockCode 

热点排行