Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Cách kiểm tra điều kiện và viết văn bản vào biểu mẫu oracle tệp văn bản

Bạn chưa cho chúng tôi biết các điều kiện thực sự là gì, vì vậy bạn sẽ cần điền vào các chi tiết.

CLIENT_TEXT_IO.put (TFile, 'Validation No.1 : ' );
if condition_1 then
    CLIENT_TEXT_IO.put_line (TFile, 'OK');
else
    CLIENT_TEXT_IO.put_line (TFile, 'ERROR');
end if;

CLIENT_TEXT_IO.new_line (TFile);

CLIENT_TEXT_IO.put (TFile, 'Validation No.2 : ' );
if condition_2 then
    CLIENT_TEXT_IO.put_line (TFile, 'OK');
else
    CLIENT_TEXT_IO.put_line (TFile, 'ERROR');
end if;

Trong trường hợp đó, bạn có thể muốn gói gọn điều đó vào hàm trợ giúp:

PROCEDURE VALIDATION_TEST (p_mid we_group_hof_k.mstatusid%TYPE,  
 p_status we_group_hof_k.cardstatus%TYPE ) is    
    LC$Line  Varchar2(4000);
    TFile    CLIENT_TEXT_IO.FILE_TYPE ;

    procedure print_validation (
        p_file in CLIENT_TEXT_IO.FILE_TYPE
        , p_validation_number in number
        , p_condition in Boolean )
    is
    begin
        CLIENT_TEXT_IO.new_line (p_file);            
        CLIENT_TEXT_IO.put (p_file, 'Validation No.'||to_char(p_validation_number) || ': ' );
        if p_condition then
            CLIENT_TEXT_IO.put_line (p_file, 'OK');
        else
            CLIENT_TEXT_IO.put_line (p_file, 'ERROR');
        end if;
    end print_validation;    
begin
    insert into test
    select mstatusid, cardstatus
    from we_group_hof_k
    where mstatusid = p_mid 
    and cardstatus = p_status;

    IF p_mid = 1 AND p_status = 'A' THEN        
        LC$Line := 'log_' || TO_CHAR (SYSDATE, 'yyyymmdd_HH24miss') || '.log';
        TFile := CLIENT_TEXT_IO.FOpen( 'E:\HMIS\State\test.log', 'W' );
        CLIENT_TEXT_IO.put_line (TFile, 'Log file ' || LC$Line);

        print_validation(TFile, 1, condition_1);
        print_validation(TFile, 2, condition_2);
        ...
        print_validation(TFile, 15, condition_15);

        CLIENT_TEXT_IO.fclose (TFile);

    END IF;
end; 



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tạo thủ tục được lưu trữ với bảng từ một lược đồ khác ném PLS-00201

  2. Oracle tạo thủ tục gọi một hàm

  3. Sự khác biệt giữa liên kết ANSI và không phải ANSI, và bạn đề xuất cái nào?

  4. SQL, trên dòng thác xóa và trên dòng thác cập nhật

  5. Hiển thị tất cả các trường hợp sẽ được đăng ký động với người nghe