Eine aufbereitete Darstellung der Quelle

 
     
 
 
Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 

Benutzer

Quelle  sp-cursor-for-ps.result   Sprache: Lisp

 

SET NAMES utf8mb3;
SET sql_mode=ORACLE;
#
# MDEV-39022 Add `LOCAL spvar` syntax for prepared statements and SYS_REFCURSORs
#
CREATE PROCEDURE p1 AS
TYPE rec0_t IS RECORD (a INT, b INT);
TYPE cur0_t IS REF CURSOR RETURN rec0_t;
c0 cur0_t;
BEGIN
PREPARE stmt FROM 'SELECT 1,2';
OPEN c0 FOR PREPARE stmt;
END;
$$
ERROR HY000: Incorrect usage of c0 and OPEN..FOR PREPARE ps_name
CREATE PROCEDURE p1 AS
v0 TEXT;
c0 SYS_REFCURSOR;
BEGIN
PREPARE stmt FROM 'SELECT 123';
OPEN c0 FOR PREPARE stmt;
FETCH c0 INTO v0;
CLOSE c0;
SELECT v0;
END;
$$
CALL p1;
v0
123
DROP PROCEDURE p1;
CREATE FUNCTION f1() RETURN INT AS
c0 SYS_REFCURSOR;
BEGIN
OPEN c0 FOR PREPARE stmt;
CLOSE c0;
RETURN 0;
END;
$$
SELECT f1();
ERROR 0A000: Dynamic SQL is not allowed in stored function or trigger
CREATE PROCEDURE p1 AS
a INT;
BEGIN
a:= f1();
END;
$$
PREPARE stmt FROM 'SELECT 1,2';
CALL p1;
DEALLOCATE PREPARE stmt;
DROP PROCEDURE p1;
DROP FUNCTION f1;
CREATE PROCEDURE p1 AS
c0 SYS_REFCURSOR;
v0 TEXT;
ps_name VARCHAR(30) := 'stmt';
BEGIN
PREPARE stmt FROM 'SELECT 10';
OPEN c0 FOR LOCAL ps_name;
FETCH c0 INTO v0;
CLOSE c0;
SELECT v0;
END;
$$
CALL p1;
v0
10
DROP PROCEDURE p1;
CREATE FUNCTION f1() RETURN INT AS
c0 SYS_REFCURSOR;
spvar VARCHAR(10) DEFAULT 'stmt0';
BEGIN
OPEN c0 FOR LOCAL spvar;
RETURN 0;
END;
$$
SELECT f1();
ERROR 0A000: Dynamic SQL is not allowed in stored function or trigger
CREATE PROCEDURE p1 AS
a INT;
BEGIN
a:= f1();
END;
$$
CALL p1;
ERROR HY000: Unknown prepared statement handler (stmt0) given to OPEN
PREPARE stmt0 FROM 'SELECT 1,2';
CALL p1;
DEALLOCATE PREPARE stmt0;
DROP PROCEDURE p1;
DROP FUNCTION f1;
CREATE PROCEDURE p1 AS
c0 SYS_REFCURSOR;
ps_name VARCHAR(10) := 'stmt';
BEGIN
PREPARE stmt FROM 'SELECT :a';
OPEN c0 FOR LOCAL ps_name;
END;
$$
CALL p1;
ERROR HY000: Incorrect arguments to OPEN
DROP PROCEDURE p1;
CREATE PROCEDURE p1 AS
c0 SYS_REFCURSOR;
v0 TEXT;
ps_name VARCHAR(30) := 'àçé';
BEGIN
PREPARE àçé FROM 'SELECT 10';
OPEN c0 FOR LOCAL ps_name;
FETCH c0 INTO v0;
CLOSE c0;
SELECT v0;
DEALLOCATE PREPARE àçé;
END;
$$
CALL p1;
v0
10
DROP PROCEDURE p1;

Messung V0.5 in Prozent
C=35 H=100 G=74

¤ Dauer der Verarbeitung: 0.13 Sekunden  (vorverarbeitet am  2026-10-08) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Open Source Software

     Quellcodebibliothek
     Eigene Quellcodes
     Fremde Quellcodes
     Suchen

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Statistik
#Sources=1126438
#Domains=1867298