Besoin d'aide pour obtenir une requête sur un fichier texte en utilisant la procédure stockée dans db2. Je suis très nouveau à ce sujet alors s'il vous plaît aider. Jusqu'à présent, je suis capable de créer un fichier et obtenir des données dans le fichier créé. Mais je veux une requête complète dans le fichier pas une seule colonne de données.Exporter une requête entière dans un fichier à l'aide de la procédure stockée
J'ai créé un procédure stockée comme celui-ci
CREATE or replace PROCEDURE SCOPEMASTERP(my_statement varchar(10000))
AUTONOMOUS
BEGIN
DECLARE v_filehandle UTL_FILE.FILE_TYPE;
DECLARE v_dirAlias VARCHAR(50) DEFAULT 'mydir';
DECLARE v_filename VARCHAR(100) DEFAULT 'bluestar_transaction-';
DECLARE v_format VARCHAR(200);
SET v_format = '%s\n';
set v_filename = concat(v_filename, VARCHAR_FORMAT(current_date, 'DD-MM-YYYY'));
set v_filename = concat(v_filename, '.log');
CALL UTL_DIR.CREATE_OR_REPLACE_DIRECTORY('D:', '/archivelog/asd/');
SET v_filehandle = UTL_FILE.FOPEN(v_dirAlias,v_filename,'a');
CALL UTL_FILE.PUTF(v_filehandle,v_format, my_statement);
CALL DBMS_OUTPUT.PUT_LINE('Wrote to file: ' || v_filename);
CALL UTL_FILE.FCLOSE(v_filehandle);
END
et j'ai créé un déclencheur à l'intérieur déclencheur j'appelle la procédure stockée
CREATE OR REPLACE TRIGGER SCOPEMASTER_Trigger
AFTER INSERT ON SERVEIT.SCOPENAMEMASTER
REFERENCING NEW AS N
FOR EACH ROW
BEGIN ATOMIC
call SCOPEMASTERP(N.SCOPENAMEID);
END
instruction d'insertion je suis exécutais
Insert into SERVEIT.SCOPENAMEMASTER (SCOPENAMEID) values (1013)
GO
Et le fichier qui crée dans le lecteur "D" je reçois
Mais au lieu d'obtenir i besoin de la 1 013 requête complète dans le fichier
Insert into SERVEIT.SCOPENAMEMASTER (SCOPENAMEID) values (1013)
Quels sont les changements que je dois faire s'il vous plaît aider. Merci d'avance!!
Votre autre question est-elle toujours nécessaire? Sinon, supprimez. http://stackoverflow.com/questions/42089402/trigger-to-write-all-insert-updates-queries-to-file –