你的@@Fetch_Status使用方式有问题 ,另外循环结束位置需要变更,
改成:
while (@@FETCH_STATUS=0)
BEGIN
select 'n0'
-- if @kemu='chinese' then @kemu='0001'
PRINT @file_name
insert into source_temp
values(@sid,@keyword,@file_dir+'\'+@file_name+'.'+@file_type,'01-01-01',@content,@kemu,@for_object,@author,'kejianchinese','1'); FETCH NEXT FROM c_1
INTO @sid, @stitle, @for_object,@class_str,@file_name,@file_type,@file_dir,@author,@kemu,@content
END
CLOSE c_1
commit;
改成:
while (@@FETCH_STATUS=0)
BEGIN
select 'n0'
-- if @kemu='chinese' then @kemu='0001'
PRINT @file_name
insert into source_temp
values(@sid,@keyword,@file_dir+'\'+@file_name+'.'+@file_type,'01-01-01',@content,@kemu,@for_object,@author,'kejianchinese','1'); FETCH NEXT FROM c_1
INTO @sid, @stitle, @for_object,@class_str,@file_name,@file_type,@file_dir,@author,@kemu,@content
END
CLOSE c_1
commit;
解决方案 »
- ##########请大家来评论一下这篇文章############
- 求助~~查询没有返回值
- left join 条件 or的问题
- 急需用友标准版10.3的数据字典..请帮帮忙!急急.............
- 根据表1某字段内容(1,2,3之类),显示对应表2的内容
- 请教一个TSQL的问题,在线等,急!!!
- 我的一表中有一大字段fbnr,存的是.htm格式的文件,现需要将字段fbnr存放对应的.txt格式的文件,该如何做呵。。,,在线等,,问题解决立
- DTS导入和导出向导错误
- 存储过程里'Fetch …… into ……是什么意思?'
- 困惑,SQL Server 有些功能需要提高
- 我如何 可以得出一个数据库中的所有表的个数?
- 关于层次结构的问题
open c1
fetch next from c1 into ...
While @@Fetch_Status=0 -- 请注意,是“=” 不是“<>”
begin
...
fetch next from c1 into ...
end
close c1
deallocate c1
还有就是为什么在循环前的一个 select 'yes' 没有输出的反映呢。他输出到那里去了呢。
-1 FETCH statement failed or the row was beyond the result set.
-2 Row fetched is missing.
还有就是为什么在循环前的一个 select 'yes' 没有输出的反映呢。他输出到那里去了呢。
在执行是你是看不见的,如果要DEBUG,你可以将'YES'插入到一个临时表中,比如:INSERT INTO #TEMP(COLUMN1) VALUES('YES')
返回被 FETCH 语句执行的最后游标的状态,而不是任何当前被连接打开的游标的状态。返回值 描述
0 FETCH 语句成功。 (所以你的判断条件错了.)
-1 FETCH 语句失败或此行不在结果集中。
-2 被提取的行不存在。
对原有的数据进行删除,然后再插入
加入
if update(列名)
begin-----
end
你的触发器只会在插入数据时执行(inserted触发器),update无匹配的数据