需要有关使用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)
我需要做些什么改变请帮忙。在此先感谢!!
答案 0 :(得分:1)
没有特殊的寄存器/变量/等。在DB2中可用,它提供正在执行的SQL语句,因此您无法提出要求。