V nφ₧e uvedenΘm p°φkladu programu ve vnit°nφm jazyce se vytvo°φ tabulka ATAB s integritnφm omezenφm TESTA. Definuje se log MYLOG, do n∞ho₧ se majφ zaznamenßvat u₧ivatelskΘ chyby, provßd∞nΘ SQL p°φkazy a vklßdßnφ zßznam∙ do tabulky ATAB. Prvnφ p°φkaz INSERT prob∞hne sprßvn∞, v druhΘm je poruÜeno integritnφ omezenφ.
var error_text:string[200];
suppl:string[31];
level, kont_type, par1, par2, par3, par4 : integer;
begin
#sql CREATE TABLE ATAB (A INTEGER, CONSTRAINT TESTA CHECK (Odd(a)));
#sql CALL _sqp_define_log('MYLOG', '', '');
#sql CALL _sqp_trace(TRACE_USER_ERROR, '', '', 'MYLOG', 3);
#sql CALL _sqp_trace(TRACE_SQL, '', '', 'MYLOG', 3);
#sql CALL _sqp_trace(TRACE_INSERT, '', 'ATAB', 'MYLOG', 3);
#sql INSERT INTO ATAB VALUES(1);
#sql INSERT INTO ATAB VALUES(2);
Get_error_num_text(Sz_error, error_text, 200);
Get_server_error_suppl(suppl);
level:=0;
repeat
Get_server_error_context(level, kont_type, par1, par2, par3, par4);
level:=level+1;
until kont_type=0;
#sql DROP TABLE ATAB
end.
Po provedenφ tohoto programu jsou v souboru MYLOG.TXT tyto zßpisy:
22.9. 18:02 S ANONYMOUS Provßdφm SQL p°φkaz [SQL
: call _sqp_trace(TRACE_INSERT, '', 'ATAB', 'MYLOG', 3);]
22.9. 18:02 S ANONYMOUS Provßdφm SQL p°φkaz [SQL: INSERT INTO ATAB VALUES(1);]
22.9. 18:02 i ANONYMOUS Vklßdßm zßznam[Inserting to table 98 (ATAB), record 0] [SQL: INSERT INTO ATAB VALUES(1);] 22.9.
18:02 S ANONYMOUS Provßdφm SQL p°φkaz [SQL: INSERT INTO ATAB VALUES(2);]
22.9. 18:02 i ANONYMOUS Vklßdßm zßznam[Inserting to table 98 (ATAB), record 1] [SQL: INSERT INTO ATAB VALUES(2);] 22.9. 18:02 E ANONYMOUS PoruÜeno integritnφ omezenφ TESTA databßzovΘ tabulky[ table 98 (ATAB), record 1]
22.9. 18:05 S ANONYMOUS Provßdφm SQL p°φkaz [SQL:
DROP TABLE ATAB]
Funkce Get_error_num_text
vrßtφ °et∞zec:
PoruÜeno integritnφ omezenφ TESTA databßzovΘ tabulky
Funkce Get_server_error_suppl
vrßtφ °et∞zec
TESTA
Funkce Get_server_error_context
pro level=0 vrßtφ typ kontextu 1 (tabulka), v par1 je Φφslo tabulky a v par2 Φφslo zßznamu.
Funkce Get_server_error_context
pro level=0 vrßtφ typ kontextu 0 (konec kontextu).
Viz