[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Jul 2014
    Beiträge
    17

    Question SQL0312 in SQL Procedure

    Wenn ich in einer SQL Procedure eine "GLOBAL TEMPORARY TABLE" definiere und die definition eine Variable enthält bekomme ich einen SQL0312 RC9 Fehler.
    Geht das gar nicht oder mache ich in der definition etwas falsch?
    oder gibts eine umgehung?

    Hier als Beispiel eine SQL-Procedur (es geht um die variable BASEDIR):

    Code:
    CREATE OR REPLACE PROCEDURE TEST.CHKIFSDIR ( )
        LANGUAGE SQL
        SPECIFIC TEST.CHKIFSDIR
        NOT DETERMINISTIC
        MODIFIES SQL DATA
        CALLED ON NULL INPUT
        CONCURRENT ACCESS RESOLUTION DEFAULT
        SET OPTION  ALWBLK = *ALLREAD ,
        ALWCPYDTA = *OPTIMIZE ,
        COMMIT = *NONE ,
        DECRESULT = (31, 31, 00) ,
        DFTRDBCOL = *NONE ,
        DYNDFTCOL = *NO ,
        DYNUSRPRF = *USER ,
        SRTSEQ = *HEX
        BEGIN
    
    DECLARE BASEDIR VARCHAR ( 70 ) ;
    SET BASEDIR = '/home/Test/' ;
    SET BASEDIR = TRIM(BASEDIR);
    
    DECLARE GLOBAL TEMPORARY TABLE GENIFS0 AS
    (
        SELECT
        SUBSTR(TRIM(PATH_NAME), LOCATE_IN_STRING(TRIM(PATH_NAME),'/',-1) + 1, LENGTH(TRIM(PATH_NAME))) AS GENDIR, PATH_NAME
        FROM TABLE (QSYS2.IFS_OBJECT_STATISTICS(START_PATH_NAME => BASEDIR,  -- here is the error, variable is not allowed
                                                SUBTREE_DIRECTORIES => 'YES', 
                                                OBJECT_TYPE_LIST => '*ALLDIR',  
                                                IGNORE_ERRORS => 'YES' )) t 
    ) WITH DATA WITH REPLACE
    ;
    END;

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.237
    Variablen gehen nicht. Du kannst einen Declare ohne Variablen with no data und einen anschließenden Insert into ... select from mit Variablen durchführen.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  3. #3
    Registriert seit
    Jul 2014
    Beiträge
    17
    das wusste ich nicht.
    Danke für deine Antwort

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.237
    Die Begründung liegt darin, dass der Erstellbefehl in das Objekt zur Wiederherstellung gespeichert wird und daher Variablen nicht zulässig sind.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

Similar Threads

  1. embedded SQL Fehler SQL0312 beim Umwandeln
    By Hubert in forum NEWSboard Programmierung
    Antworten: 9
    Letzter Beitrag: 09-12-19, 12:45
  2. Procedure in free
    By malzusrex in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 24-08-16, 12:35
  3. SQL0312 bei Umwandlung von SQLRPGLE mit Variablen
    By msost in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 02-03-16, 17:39
  4. Return aus SQL Procedure
    By dabeda in forum NEWSboard Programmierung
    Antworten: 14
    Letzter Beitrag: 05-03-15, 12:53
  5. Problem SQL Procedure
    By CaddyMajor in forum NEWSboard Programmierung
    Antworten: 14
    Letzter Beitrag: 25-06-14, 08:22

Tags for this Thread

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •