干嘛要这么做,循环的条件应当为while(@@FETCH_STATUS = 0)declare @companyid int
declare @class varchar(40)
declare @i int
declare @count int
declare @classid int
select @@cursor_rowsDECLARE company_Cursor CURSOR FOR
SELECT id,class
FROM foods.dbo.company
OPEN company_Cursorfetch next from company_Cursor into @companyid,@classid
while(@@FETCH_STATUS = 0)
begin
select substring(@companyid,1,3),class
INTO foods001db.dbo.companyofclass(companyid,classid) FETCH NEXT FROM company_Cursor
into @companyid,@classidend
CLOSE company_Cursor
DEALLOCATE company_Cursor
declare @class varchar(40)
declare @i int
declare @count int
declare @classid int
select @@cursor_rowsDECLARE company_Cursor CURSOR FOR
SELECT id,class
FROM foods.dbo.company
OPEN company_Cursorfetch next from company_Cursor into @companyid,@classid
while(@@FETCH_STATUS = 0)
begin
select substring(@companyid,1,3),class
INTO foods001db.dbo.companyofclass(companyid,classid) FETCH NEXT FROM company_Cursor
into @companyid,@classidend
CLOSE company_Cursor
DEALLOCATE company_Cursor
set @i = 0
while @i < @count
begin
FETCH NEXT FROM company_Cursor
into @companyid,@classid
insert INTO foods001db.dbo.companyofclass (companyid,classid)
select substring(@companyid,1,3),@classid
set @i = @i + 1
end
insert INTO foods001db.dbo.companyofclass (companyid,classid)
select substring(id,1,3), class
FROM foods.dbo.company
服务器: 消息 2627,级别 14,状态 1,行 23
违反了 PRIMARY KEY 约束 'PK_companyofclass'。不能在对象 'companyofclass' 中插入重复键。
语句已终止。
服务器: 消息 245,级别 16,状态 1,行 20
将 varchar 值 '03, 14, 18, 19, 22, 26' 转换为数据类型为 int 的列时发生语法错误。