Bonjour
j'ai fait un INSERT qui se base sur un SELECT dynamique :
le problème est lors du commit ou commit_form, j'ai un message qui me dit qu'aucune modification a eu lieu, du coup j'ai modifié un champ de mon block en lui remettant sa valeur mais j'ai quand même le message.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 DECLARE LConn_conn_id EXEC_SQL.CONNTYPE; LCu_spec EXEC_SQL.CURSTYPE; LC_sql_stmt VARCHAR2(500); LI_nIgn PLS_INTEGER; LC_code_article VARCHAR2(40); LC_description VARCHAR2(240); LC_spec VARCHAR2(30); i NUMBER; BEGIN LConn_conn_id := EXEC_SQL.DEFAULT_CONNECTION; LCu_spec := EXEC_SQL.OPEN_CURSOR(LConn_conn_id); --LC_sql_stmt := 'INSERT INTO SWM_SPE_DT_1_4 (CODE_ARTICLE, DESCRIPTION, SPECIFICATION) ' || vv_requete_debut || vv_requete_fin; LC_sql_stmt := 'INSERT INTO SWM_SPE_DT_1_4 (CODE_ARTICLE, DESCRIPTION, SPECIFICATION) ' || 'SELECT ''g'', ''h'', ''i'' FROM DUAL'; EXEC_SQL.PARSE(LConn_conn_id, LCu_spec, LC_sql_stmt); LI_nIgn := EXEC_SQL.EXECUTE(LConn_conn_id, LCu_spec); EXEC_SQL.CLOSE_CURSOR(LConn_conn_id, LCu_spec); EXEC_SQL.CLOSE_CONNECTION(LConn_conn_id); :swm_spe_dt_1_21.description := :swm_spe_dt_1_21.description; --commit; commit_form; EXCEPTION WHEN EXEC_SQL.PACKAGE_ERROR THEN EXEC_SQL.CLOSE_CURSOR(LConn_conn_id, LCu_spec); EXEC_SQL.CLOSE_CONNECTION(LConn_conn_id); END;
Comment faire un commit de mon instruction sans forcément committer l'écran ?
Merci
Partager