Talk About Network

Google





Data Bases > IBM DB2 > Re: How to chec...
Latest [ Topics | Posts ] Archive Post A New Topic Post a Reply
<< Topic < Post Post 7 of 9 Topic 9091 of 9564
Post > Topic >>

Re: How to check SQLCODE in trigger

by "lenygold via DBMonster.com" <u41482@[EMAIL PROTECTED] > Jul 16, 2008 at 02:29 AM

I just tested my last change:

--#SET TERMINATOR !
CREATE TRIGGER EMPSCREDIT  
    AFTER INSERT ON EMP_SCREEN_EDIT
  REFERENCING NEW AS n 
  FOR EACH ROW MODE DB2SQL 
  BEGIN ATOMIC 
    DECLARE reason VARCHAR(68); 
    DECLARE OUT_SQLCODE INTEGER;
    CALL execute_immediate('select hiredate from
EMP_SCREEN_EDIT',OUT_SQLCODE)
;
       SET reason 
      = CASE WHEN OUT_SQLCODE <> 0
              THEN '292 INVALID HIREDATE'
            WHEN LENGTH(RTRIM(TRANSLATE(EMPNO, '*', ' 0123456789'))) <> 0
              THEN '130 INVALID EMP NUMBER - MUST BE NUMERIC ' 
             WHEN FIRSTNME <= '            '
              THEN '146 FIRSTNME  IS MISSED' 
             WHEN LENGTH(RTRIM(TRANSLATE(FIRSTNME, '*', '
ABCDEFGHIGKLMNOPQRSTUVWXYZ'))) <> 0
              THEN '146 INVALID FIRSTNME MUST BE ALPHABETIC' 
             WHEN LENGTH(RTRIM(TRANSLATE(MIDINIT, '*', '
ABCDEFGHIGKLMNOPQRSTUVWXYZ')))  <> 0
              THEN '154 INVALID MIDINIT MUST BE SPACE OR ALPHABETIC' 
             WHEN LASTNAME <= '               '
              THEN '165 LASTNAME IS MISSED' 
             WHEN LENGTH(RTRIM(TRANSLATE(FIRSTNME, '*', '
ABCDEFGHIGKLMNOPQRSTUVWXYZ'))) <> 0
              THEN '165 INVALID LASTNAME MUST BE ALPHABETIC' 
             WHEN WORKDEPT NOT IN
('A01','BO1','C01','D11','D21','E01','E11',
'E21') 
              THEN '177 INVALID DEPATRMENT, VALID -->
A01,B01,C01,D11,D21,E01,
E11,E21' 
             WHEN JOB NOT IN('ANALYST ','CLERK   ','DESIGNER','FEILDREP',
'MANAGER ‘OPERATOR','PRES    ','SALESREP') 
              THEN '328 INVALID JOB DESCRIPTION'
             WHEN EDLEVEL NOT IN(12,14,15,16,17,18,19,20)
              THEN '345 INVALID EDUCATION LEVEL'
             WHEN *** NOT IN ('M','F')
              THEN '355 INVALID GENDER'
             WHEN SALARY = 0
              THEN '422 INVALID SALARY, MUST BE GREATER THAN ZERO' 
             WHEN HIREDATE <= BIRTHDATE
              THEN '292 HIREDATE MUST GREATER THAN BITHDATE'     
             WHEN YEAR(HIREDATE) - YEAR(BIRTHDATE) < 18
              THEN '292 HIRED EMPLOYEE MUST 18 OR OLDER'     
             ELSE NULL END; 
    IF reason IS NOT NULL THEN 
         SIGNAL SQLSTATE '7500S' (reason);
    END IF; 
  END!                

insert with wrong hiredate:
insert into EMP_SCREEN_EDIT
values(USER,CURRENT_TIMESTAMP,'000900','LENNY','D','GOLD','A01','99/27/1999',
'MANAGER',12, 'M','11/02/1953',140000.00,900.00,3000.00); 

i expect -  '292 INVALID HIREDATE'
but i got - sqlcode: -181 
The string representation of a datetime value is out of range.

It din't work.???
 








Serge Rielau wrote:
>> I TRIED ONLY SP AND ALSO AN ERROR:
>> 
>[quoted text clipped - 4 lines]
>> SQLSTATE=42703 
>> sqlcode: -206
>Of course out_sqlcode is not defined.
>
>in your trigger this presumably looks like this:
>
>CREATE TRIGGER ....
>  BEGIN ATOMIC
>    DECLARE out_sqlcode INTEGER;
>    CALL execute_immediate('....', out_sqlcode);
>  END
>@[EMAIL PROTECTED]
>

-- 
Message posted via DBMonster.com
http://www.dbmonster.com/Uwe/Forums.aspx/ibm-db2/200807/1
 




 9 Posts in Topic:
How to check SQLCODE in trigger
"lenygold via DBMons  2008-07-15 15:10:46 
Re: How to check SQLCODE in trigger
Serge Rielau <srielau@  2008-07-15 14:35:48 
Re: How to check SQLCODE in trigger
"lenygold via DBMons  2008-07-15 23:36:21 
Re: How to check SQLCODE in trigger
"lenygold via DBMons  2008-07-15 23:47:11 
Re: How to check SQLCODE in trigger
"lenygold via DBMons  2008-07-16 00:33:51 
Re: How to check SQLCODE in trigger
Serge Rielau <srielau@  2008-07-15 21:33:12 
Re: How to check SQLCODE in trigger
"lenygold via DBMons  2008-07-16 02:29:09 
Re: How to check SQLCODE in trigger
Serge Rielau <srielau@  2008-07-16 08:14:26 
Re: How to check SQLCODE in trigger
"lenygold via DBMons  2008-07-16 16:40:09 

Post A Reply:
  Go here to Signup

AddThis Feed Button


About - Advertising - Contact - Frequently Asked Questions - Privacy Policy - Terms of Use - Signup

Contact
localhost-V2008-12-19 Wed Jan 7 21:16:21 PST 2009.