Stored procedures 使用存储过程将整个查询导出到文件

Stored procedures 使用存储过程将整个查询导出到文件,stored-procedures,triggers,db2,Stored Procedures,Triggers,Db2,需要关于在db2中使用存储过程获取文本文件查询的帮助。我对这个很陌生,所以请帮忙 到目前为止,我能够创建一个文件并在创建的文件中获取数据。但是我希望在文件中有一个完整的查询,而不是一列数据 我创建了这样一个存储过程 CREATE or replace PROCEDURE SCOPEMASTERP(my_statement varchar(10000)) AUTONOMOUS BEGIN DECLARE v_filehandle UTL_FILE.FILE_TYPE; DECLAR

需要关于在db2中使用存储过程获取文本文件查询的帮助。我对这个很陌生,所以请帮忙

到目前为止,我能够创建一个文件并在创建的文件中获取数据。但是我希望在文件中有一个完整的查询,而不是一列数据

我创建了这样一个存储过程

 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
我在调用存储过程的触发器中创建了一个触发器

 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
插入我正在执行的语句

 Insert into SERVEIT.SCOPENAMEMASTER (SCOPENAMEID) values (1013)
GO
以及在我得到的“D”驱动器中创建的文件

但是我需要的不是仅仅得到1013,而是文件中的完整查询

Insert into SERVEIT.SCOPENAMEMASTER (SCOPENAMEID) values (1013)

我需要做什么改变,请帮忙。提前谢谢

DB2中没有提供正在执行的SQL语句的特殊寄存器/变量等,因此您所要求的是不可能的。

还需要其他问题吗?如果没有,请移除。