Trigger

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • sonia.sardana
    New Member
    • Jul 2006
    • 95

    Trigger

    create table employee(id int,name varchar,address varchar(10))
    insert into employee values(1,'A','F BD')
    select * from employee

    create table user1(id int,user1 varchar,passwor d varchar(10))
    select * from user1

    CREATE TRIGGER trigger1
    On Employee
    FOR INSERT AS
    BEGIN
    INSERT user1(id,user1, password)
    SELECT id,name,name+12 3 FROM INSERTED
    END

    This trigger is not working correctly errors are there plz reply
  • ck9663
    Recognized Expert Specialist
    • Jun 2007
    • 2878

    #2
    Originally posted by sonia.sardana
    create table employee(id int,name varchar,address varchar(10))
    insert into employee values(1,'A','F BD')
    select * from employee

    create table user1(id int,user1 varchar,passwor d varchar(10))
    select * from user1

    CREATE TRIGGER trigger1
    On Employee
    FOR INSERT AS
    BEGIN
    INSERT user1(id,user1, password)
    SELECT id,name,name+12 3 FROM INSERTED
    END

    This trigger is not working correctly errors are there plz reply

    This is where your error is
    Code:
    SELECT id,name,name+123 FROM INSERTED
    Your column "name" is a character and you're trying to add an integer on it. Enclosed the integer with quote. Try doing it like this:

    Code:
    SELECT id,name,name+'123' FROM INSERTED
    -- CK

    Comment

    • sonia.sardana
      New Member
      • Jul 2006
      • 95

      #3
      create table employee(id int,name varchar,address varchar(10))
      insert into employee values(1,'A','F BD')
      select * from employee

      create table user1(id int,user1 varchar,passwor d varchar(10))
      select * from user1

      CREATE TRIGGER trigger1
      On Employee
      FOR INSERT AS
      BEGIN
      INSERT user1(id,user1, password)
      SELECT id,name,name+'1 23' FROM INSERTED
      END

      Still Nt working. In this whenever the new record is added in employee table,it is automatically inserted in User table, I m right na.
      When i execute statement select * from user1,
      no records are displayed?

      Comment

      • ck9663
        Recognized Expert Specialist
        • Jun 2007
        • 2878

        #4
        Originally posted by sonia.sardana
        create table employee(id int,name varchar,address varchar(10))
        insert into employee values(1,'A','F BD')
        select * from employee

        create table user1(id int,user1 varchar,passwor d varchar(10))
        select * from user1

        CREATE TRIGGER trigger1
        On Employee
        FOR INSERT AS
        BEGIN
        INSERT user1(id,user1, password)
        SELECT id,name,name+'1 23' FROM INSERTED
        END

        Still Nt working. In this whenever the new record is added in employee table,it is automatically inserted in User table, I m right na.
        When i execute statement select * from user1,
        no records are displayed?

        Are you executing it as it is? If yes, it's because you created the trigger after the insert.

        Try to re-arrange the code like this:

        create table employee(id int,name varchar,address varchar(10))
        Code:
        CREATE TRIGGER trigger1
        On Employee
        FOR INSERT AS
        BEGIN
        INSERT user1(id,user1,password)
        SELECT id,name,name+'123' FROM INSERTED
        END
        
        create table user1(id int,user1 varchar,password varchar(10))
        
        insert into employee values(1,'A','FBD')
        
        
        select * from user1
        select * from employee
        -- CK

        Comment

        • sonia.sardana
          New Member
          • Jul 2006
          • 95

          #5
          Thx Its working........ ...

          Comment

          • sonia.sardana
            New Member
            • Jul 2006
            • 95

            #6
            CREATE TRIGGER trigger2
            On Employee
            FOR DELETE AS
            BEGIN
            Delete From User1 where id=1
            END

            delete from employee where id=2

            CREATE TRIGGER trigger1
            On Employee
            FOR INSERT AS
            BEGIN
            INSERT user1(id,user1, password)
            SELECT id,name,name+'1 23' FROM INSERTED
            END

            create table user1(id int,user1 varchar,passwor d varchar(10))

            insert into employee values(1,'A','F BD')
            insert into employee values(2,'B','D elhi')
            select * from employee
            drop table employee

            select * from user1

            I m creating insert and delete triggers on two tables. In delete trigger i gave
            Delete From User1 where id=1
            It deletes the particular ID.
            But i want that any Id deleted from Employee is also deleted from User.

            Comment

            • ck9663
              Recognized Expert Specialist
              • Jun 2007
              • 2878

              #7
              Try:

              Code:
              CREATE TRIGGER trigger2
              On Employee
              FOR DELETE AS
              BEGIN
              Delete From User1 where id in (select ID from deleted)
              END
              Good luck.

              -- CK

              Comment

              • sonia.sardana
                New Member
                • Jul 2006
                • 95

                #8
                Hey thx and sorry for asking the que again on triggers.

                UPDATE TRIGGER-

                CREATE TRIGGER trigger3
                On Employee
                FOR UPDATE AS
                BEGIN
                UPDATE user1 where id in (SELECT id FROM UPDATED)
                END

                ERROR- Incorrect syntax near the keyword 'where'.

                Tell me one thing with triggers we just insert,update or delete records from table,or anything more can be done also with the help of triggers.

                VERY VERY THX AGAIN

                Comment

                • ck9663
                  Recognized Expert Specialist
                  • Jun 2007
                  • 2878

                  #9
                  Check your UPDATE syntax. Here's the complete UPDATE syntax.

                  Here's more about TRIGGERS

                  Good Luck

                  -- CK

                  Comment

                  Working...