读书人

游解决思路

发布时间: 2012-01-31 21:28:41 作者: rapoo


ALTER procedure plxz @dept char(6),
@k_teacher char(8),
@k_mode char(20),
@k_task char(40),
@k_date char(16),
@k_grade char(10),
@k_add char(10)

as
declare @emp_code char(10)
declare @dept_code char(10)
declare @sex char(10)
declare @emp_name char(10)
declare @edu char(10)
declare @skill char(10)
declare @in_date char(10)


declare cur_plxz cursor for
select emp_code,dept_code,sex,emp_name,edu,skill,in_date from t_emp
where leave_flag= 'N ' and dept_code=@dept


open cur_plxz
fetch next from cur_plxz into @emp_code ,@dept_code,@sex,@emp_name,@edu,@skill,@in_date

while @@fetch_status=0
begin
insert into lita_xlka(k_emp_code,k_dept_code,k_sex,k_emp_name,k_edu,k_skill,k_in_date,k_teacher,k_mode,k_task,k_date,k_grade,k_add,k_creat_date)
values(@emp_code ,@dept_code,@sex,@emp_name,@edu,@skill,@in_date,@k_teacher,@k_mode,@k_task,@k_date,@k_grade,@k_add,convert(char(10),getdate(),120))
end
fetch next from cur_plxz into @emp_code ,@dept_code,@sex,@emp_name,@edu,@skill,@in_date
Close cur_plxz
Deallocate cur_plxz

我在表t_emp中查找出dept_code=@dept几.
我想每插入lita_xlka中.但是重插入在t_emp查找出的第一很多次

各位高手我看一下出在那儿


[解决办法]
ALTER procedure plxz @dept char(6),
@k_teacher char(8),
@k_mode char(20),
@k_task char(40),
@k_date char(16),
@k_grade char(10),
@k_add char(10)

as
declare @emp_code char(10)
declare @dept_code char(10)
declare @sex char(10)
declare @emp_name char(10)
declare @edu char(10)
declare @skill char(10)
declare @in_date char(10)


declare cur_plxz cursor for
select emp_code,dept_code,sex,emp_name,edu,skill,in_date from t_emp
where leave_flag= 'N ' and dept_code=@dept
open cur_plxz
fetch next from cur_plxz into @emp_code ,@dept_code,@sex,@emp_name,@edu,@skill,@in_date

while @@fetch_status=0
begin
insert into lita_xlka(k_emp_code,k_dept_code,k_sex,k_emp_name,k_edu,k_skill,k_in_date,k_teacher,k_mode,k_task,k_date,k_grade,k_add,k_creat_date)
values(@emp_code ,@dept_code,@sex,@emp_name,@edu,@skill,@in_date,@k_teacher,@k_mode,@k_task,@k_date,@k_grade,@k_add,convert(char(10),getdate(),120))
--放在循环里面
fetch next from cur_plxz into @emp_code ,@dept_code,@sex,@emp_name,@edu,@skill,@in_date
end

Close cur_plxz
Deallocate cur_plxz

读书人网 >SQL Server

热点推荐