2017-12-13 3 views
1

Ich bin neu zu PL/SQL und ich möchte Werte in eine globale temporäre Tabelle einfügen mit dem folgenden Code:einfügen Werte in globale temporäre Tabelle mit PL/SQL

CREATE GLOBAL TEMPORARY TABLE test_variable 
(
only_datex TIMESTAMP(6) NULL, 
only_datey TIMESTAMP(6) NULL 
) 
ON COMMIT PRESERVE ROWS; 
DECLARE 
    x TIMESTAMP(6) := CURRENT_DATE; 
    y TIMESTAMP(6) := CURRENT_DATE - 1; 
BEGIN 
    INSERT INTO test_variable VALUES(x,y); 
END 

SELECT * FROM test_variable; 

Nach dem Versuch zu wählen , erhalte ich diese Fehlermeldung: enter image description here

Antwort

3

Sie müssen die PL/sQL-Block beenden - Sie das Semikolon sind vermisst (;), die mit den end und einem Schrägstrich (/) geht um den Block zu beenden:

CREATE GLOBAL TEMPORARY TABLE test_variable 
(
only_datex TIMESTAMP(6) NULL, 
only_datey TIMESTAMP(6) NULL 
) 
ON COMMIT PRESERVE ROWS; 

DECLARE 
    x TIMESTAMP(6) := CURRENT_DATE; 
    y TIMESTAMP(6) := CURRENT_DATE - 1; 
BEGIN 
    INSERT INTO test_variable VALUES(x,y); 
END; -- Here 
/
--^ And here 

SELECT * FROM test_variable; 
3

benötigen Sie einen Schrägstrich / kurz nach END;

DECLARE 
    x TIMESTAMP(6) := CURRENT_DATE; 
    y TIMESTAMP(6) := CURRENT_DATE - 1; 
BEGIN 
    INSERT INTO test_variable VALUES(x,y); 
END;/ 

SELECT * FROM test_variable; 
Verwandte Themen