2014-02-22 33 views
1

我有2个表格:students,ece200_atten存储过程中的IF条件

  • 第一台students有2列:id, ece200,但ece200bit => true或false
  • 二表ece200_attend有一栏id

当我插入id我要检查(如果这个ID的ece200 = 1)在表ece200_attend中插入该ID。

我的代码:

alter proc test 
    @myid int  
as 
begin 
    declare @mycourse bit = 1 

    select @mycourse = ece200 from students 

    if @mycourse = 1 
     insert into ece200_attend (id) values (@myid) 
end 
go 

exec test 34003 
+0

所以什么问题你的代码? – KumarHarsh

回答

2
if exists (select * from students where id = @myid and ece2000 = 1) 
    begin 
    insert into ece200_attend (id) values (@myid) 
    end 
1

试试这个,

ALTER PROC test(@myid int) 
AS BEGIN 
IF EXISTS(SELECT 1 FROM STUDENTS WHERE ece200=1) 
    INSERT INTO ece200_attend (id) values (@myid) 
GO 


EXEC TEST 34003