Sybase @@error

An example that generates errors by inserting existing keys when a unique key exists.

errorDemo.sh
isql -S myServer -D d_myDatabase -U myUser -P myPass << EOF

set nocount on
go

create table #t ( x int )
go

create unique index t_idx on #t ( x )
go

declare @valu int, @erno int
select  @valu = 1

while @valu < 3
begin
    insert #t values ( @valu )
    select @erno = @@error, @valu = @valu + 1

    if( @erno != 0 ) 
        print 'ERROR:   Got error... lets try again...'
    else
    begin
        print 'SUCCESS: We did it !'
        select  @valu = 1
    end
end
go

select * from #t
go

EOF
sh errorDemo.sh
SUCCESS: We did it !
Msg 2601, Level 14, State 3:
Server 'myServer', Line 7:
Attempt to insert duplicate key row in object '#t___________00000430018321713'
with unique index 't_idx'
Command has been aborted.
ERROR:   Got error... lets try again...
SUCCESS: We did it !
Msg 2601, Level 14, State 3:
Server 'myServer', Line 7:
Attempt to insert duplicate key row in object '#t___________00000430018321713'
with unique index 't_idx'
Command has been aborted.
ERROR:   Got error... lets try again...
Msg 2601, Level 14, State 3:
Server 'myServer', Line 7:
Attempt to insert duplicate key row in object '#t___________00000430018321713'
with unique index 't_idx'
Command has been aborted.
ERROR:   Got error... lets try again...
 x           
 ----------- 
           1 
           2

See Also:

Roger
Roger Hall
COMPUSPEC
Google
 
Web Compuspec.net
Valid XHTML 1.0!
Valid CSS!