SnowConvert: PostgreSQL-Probleme

SSC-EWI-PG0003

Schweregrad

Niedrig

Beschreibung

PostgreSQL unterstützt Tabellenvererbung, aber dieses Feature ist in Snowflake nicht verfügbar. Weitere Informationen über die Vererbung von PostgreSQL-Tabellen finden Sie hier.

Codebeispiel

Eingabecode:

ALTER TABLE Table1
ADD CONSTRAINT const3 UNIQUE (zip);
Copy

Ausgabecode:

!!!RESOLVE EWI!!! /*** SSC-EWI-PG0003 - TABLE INHERITANCE IS NOT SUPPORTED IN SNOWFLAKE. ***/!!!
ALTER TABLE Table1
ADD CONSTRAINT const3 UNIQUE (zip);
Copy

Empfehlungen

SSC-EWI-PG0013

Schweregrad

Medium

Beschreibung

Dieser Fehler tritt auf, wenn Sie eine RAISE-Ausnahme in eine benutzerdefinierte gespeicherte Prozedur konvertieren.

Bitte beachten Sie, dass das Auslösen von Ausnahmen außerhalb eines Ausnahmeblocks in Snowflake nicht unterstützt wird. Das liegt daran, dass Snowflake nur die Erstellung neuer Ausnahmen mit Literalmeldungen erlaubt und die Erstellung benutzerdefinierter Ausnahmen auf der Grundlage dynamischer Daten nicht unterstützt.

Codebeispiel

Eingabecode:

CREATE FUNCTION FunctionName1() RETURNS void
AS
$$
DECLARE
	v_var1        	character varying(50);
	v_var2        	character varying(50);
BEGIN
	v_var1 := 'exception1';
	v_var2 := 'exception2';
	RAISE EXCEPTION 'Exception %',v_var1;
    EXCEPTION
      WHEN OTHERS THEN
         RAISE EXCEPTION '%',v_var2;
         RETURN;
END;
$$
    LANGUAGE plpgsql NO SQL;
Copy

Ausgabecode:

!!!RESOLVE EWI!!! /*** SSC-EWI-GP0002 - NON-RETURNING FUNCTION TRANSLATED TO STORED PROCEDURE ***/!!!
CREATE OR REPLACE PROCEDURE FunctionName1 () RETURNS STRING
    LANGUAGE SQL
AS
$$
DECLARE
	v_var1        	character varying(50);
	v_var2        	character varying(50);
BEGIN
	v_var1 := 'exception1';
	v_var2 := 'exception2';
	LET SC_RAISE_MESSAGE VARCHAR;
	SC_RAISE_MESSAGE := STRING_FORMAT_UDF('Exception %', array_construct(:v_var1));
	!!!RESOLVE EWI!!! /*** SSC-EWI-PG0013 - RAISE EXCEPTION TRANSLATED TO USER-DEFINED STORED PROCEDURE CALL. ***/!!!
	CALL RAISE_MESSAGE_UDF('EXCEPTION', :SC_RAISE_MESSAGE);
	RETURN 'SUCCESS';
    EXCEPTION
      WHEN OTHER THEN
		SC_RAISE_MESSAGE := STRING_FORMAT_UDF('%', array_construct(:v_var2));
		!!!RESOLVE EWI!!! /*** SSC-EWI-PG0013 - RAISE EXCEPTION TRANSLATED TO USER-DEFINED STORED PROCEDURE CALL. ***/!!!
		CALL RAISE_MESSAGE_UDF('EXCEPTION', :SC_RAISE_MESSAGE);
		RAISE;
         RETURN;
END;
$$;
Copy

Die folgenden benutzerdefinierten Funktionen (User-Defined Functions, UDFs) werden während des Transformationsprozesses verwendet:

CREATE OR REPLACE FUNCTION STRING_FORMAT_UDF(PATTERN VARCHAR, ARGS VARIANT)
RETURNS VARCHAR
LANGUAGE JAVASCRIPT
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "udf",  "convertedOn": "09/09/2024" }}'
AS
$$
	var placeholder_str = "{%}";
	var result = PATTERN.replace(/(?<!%)%(?!%)/g, placeholder_str).replace("%%","%");
	for (var i = 0; i < ARGS.length; i++)
	{
		result = result.replace(placeholder_str, ARGS[i]);
	}
	return result;
$$;
Copy
CREATE OR REPLACE PROCEDURE RAISE_MESSAGE_UDF(LEVEL VARCHAR, MESSAGE VARCHAR)
RETURNS VARCHAR
LANGUAGE SQL
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "udf",  "convertedOn": "09/09/2024" }}'
AS
$$
  BEGIN
    RETURN 'Logged message: ' || LEVEL || ' - ' || MESSAGE;
  END;
$$;
Copy

Empfehlungen

SSC-EWI-PG0006

Schweregrad

Medium

Beschreibung

Dieser Fehler tritt auf, wenn eine Variable in einer FOR-Schleife über einen Beschriftungsnamen referenziert wird. Snowflake lässt nicht zu, dass in FOR-Schleifen Variablen mit qualifizierten Namen referenziert werden.

Codebeispiel

Eingabecode:

CREATE OR REPLACE PROCEDURE procedure1(out result VARCHAR(100))
LANGUAGE plpgsql
AS $$
BEGIN
result := '<';
<<outer_loop>>
for i in 1..3 loop
  <<inner_loop>>
  for i in 4..6 loop
  result := result || '(' || outer_loop.i || ', ' || i || ')';
  end loop inner_loop;
end loop outer_loop;
result := result || '>';
END;
$$;
Copy

Ausgabecode:

CREATE OR REPLACE PROCEDURE procedure1 (result VARCHAR(100))
RETURNS VARIANT
LANGUAGE SQL
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "02/16/2025",  "domain": "test" }}'
AS $$
BEGIN
result := '<';
for i in 1 TO 3 loop
  for i in 4 TO 6 loop
  result := result || '(' ||
                             !!!RESOLVE EWI!!! /*** SSC-EWI-PG0006 - REFERENCE TO A VARIABLE USING THE LABEL IS NOT SUPPORTED BY SNOWFLAKE. ***/!!! outer_loop.i || ', ' || i || ')';
  end loop inner_loop;
end loop outer_loop;
result := result || '>';
  RETURN OBJECT_CONSTRUCT('result', :result);
END;
$$;
Copy

Empfehlungen

SSC-EWI-PG0002

Schweregrad

Niedrig

Beschreibung

Die folgenden Indexparameter in Einschränkungen sind nicht mit Snowflake kompatibel.

  • INCLUDE: Fügt zusätzliche Daten oder Objekte zur aktuellen Operation hinzu

  • WITH: Gibt zusätzliche Eigenschaften oder Bedingungen an

  • USING INDEX TABLESPACE: Definiert den Tablespace, in dem die Indizes gespeichert werden

Codebeispiel

Eingabecode:

CREATE TABLE Table1 (
    code        char(5),
    date_prod   date,
    CONSTRAINT production UNIQUE(date_prod) INCLUDE(code)
);

CREATE TABLE Table2 (
    name    varchar(40),
    UNIQUE(name) WITH (fillfactor=70)
);

CREATE TABLE Table3 (
    name    varchar(40),
    PRIMARY KEY(name) USING INDEX TABLESPACE tablespace_name
);
Copy

Ausgabecode:

CREATE TABLE Table1 (
    code        char(5),
    date_prod   date,
    CONSTRAINT production UNIQUE(date_prod)
                                            !!!RESOLVE EWI!!! /*** SSC-EWI-PG0002 - INCLUDE PARAMETER NOT APPLICABLE. CONSTRAINT INDEX PARAMETERS ARE NOT SUPPORTED IN SNOWFLAKE. ***/!!! INCLUDE(code)
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "postgresql",  "convertedOn": "09/17/2024" }}';

CREATE TABLE Table2 (
    name    varchar(40),
    UNIQUE(name)
                 !!!RESOLVE EWI!!! /*** SSC-EWI-PG0002 - WITH PARAMETER NOT APPLICABLE. CONSTRAINT INDEX PARAMETERS ARE NOT SUPPORTED IN SNOWFLAKE. ***/!!! WITH (fillfactor=70)
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "postgresql",  "convertedOn": "09/17/2024" }}';

CREATE TABLE Table3 (
    name    varchar(40),
    PRIMARY KEY(name)
                      !!!RESOLVE EWI!!! /*** SSC-EWI-PG0002 - USING PARAMETER NOT APPLICABLE. CONSTRAINT INDEX PARAMETERS ARE NOT SUPPORTED IN SNOWFLAKE. ***/!!! USING INDEX TABLESPACE tablespace_name
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "postgresql",  "convertedOn": "09/17/2024" }}';
Copy

Empfehlungen

SSC-EWI-PG0012

Beschreibung

Die Option NOT VALID, die das Hinzufügen oder Ändern von Einschränkungen ohne Validierung bestehender Daten ermöglicht, ist in Snowflake nicht verfügbar. Mit diesem Feature von PostgreSQL können Sie Einschränkungen hinzufügen und dabei die Validierung bestehender Datensätze überspringen.

Codebeispiel

Eingabecode:

ALTER TABLE Table1 *
ADD CONSTRAINT const UNIQUE (zip) NOT VALID;
Copy

Ausgabecode:

ALTER TABLE Table1
ADD CONSTRAINT const UNIQUE (zip)
                                  !!!RESOLVE EWI!!! /*** SSC-EWI-PG0012 - NOT VALID CONSTRAINT OPTION IS NOT SUPPORTED BY SNOWFLAKE. ***/!!! NOT VALID;
Copy

Empfehlungen

SSC-EWI-PG0009

Schweregrad

Niedrig

Beschreibung

Kommentare können zu verschiedenen Objekten im ursprünglichen Code hinzugefügt werden. Da einige dieser Objekte in Snowflake jedoch nicht existieren, ist es nicht möglich, ihnen Kommentare hinzuzufügen. Um Fehler zu vermeiden, wurde der Code, der diese nicht unterstützten Kommentarszenarien behandelt, deaktiviert.

Codebeispiel

Eingabecode:

COMMENT ON RULE rule_name on TABLE_NAME IS 'this is a comment';
Copy

Ausgabecode:

!!!RESOLVE EWI!!! /*** SSC-EWI-PG0009 - COMMENT ON 'RULE' IS NOT SUPPORTED BY SNOWFLAKE. ***/!!!
COMMENT ON RULE rule_name on TABLE_NAME IS 'this is a comment';
Copy

Empfehlungen

SSC-EWI-PG0008

Schweregrad

Hoch

Beschreibung

Die Funktion to_char in Snowflake unterstützt beim Konvertieren von Datums- und Zeitdatentypen in das Textformat nicht den Parameter interval.

Codebeispiel

Eingabecode:

SELECT to_char(interval '15h 2m 12s', 'HH24:MI:SS');
Copy

Ausgabecode:

SELECT to_char(INTERVAL '15h, 2m, 12s', 'HH24:MI:SS') !!!RESOLVE EWI!!! /*** SSC-EWI-PG0008 - THE USE OF INTERVAL WITHIN TO_CHAR IS NOT SUPPORTED BY SNOWFLAKE. ***/!!!;
Copy

Weitere Informationen finden Sie in:

  • Dokumentation der PostgreSQL-Funktion to_char.

  • Dokumentation der Snowflake-Funktion to_char.

Empfehlungen

SSC-EWI-PG0005

Schweregrad

Medium

Beschreibung

Dieser Fehler tritt auf, weil Snowflake in bestimmten Funktionen andere Anforderungen an das Datums- und Zahlenformat hat als die Ausgangssprache.

Die folgenden Datums- und Uhrzeitformatelemente funktionieren in Snowflake möglicherweise anders als in anderen Datenbanken:

Date / Time

Format ElementDescription
HHHour of day (01–12).
MSMillisecond (000–999).
USMicrosecond (000000–999999).
SSSS, SSSSSSeconds past midnight (0–86399).
Y,YYYYear (4 or more digits) with comma.
YYYLast 3 digits of year.
YLast digit of year.
IYYYISO 8601 week-numbering year(4 or more digits).
IYYLast 3 digits of ISO 8601 week-numbering year.
IYLast 2 digits of ISO 8601 week-numbering year.
ILast digit of ISO 8601 week-numbering year.
BC, bc, AD or adEra indicator (without periods).
B.C., b.c., A.D. or a.d.Era indicator (with periods).
MONTHFull upper case month name (blank-padded to 9 chars).
MonthFull capitalized month name (blank-padded to 9 chars).
monthFull lower case month name (blank-padded to 9 chars).
DAYFull upper case day name (blank-padded to 9 chars).
DayFull capitalized day name (blank-padded to 9 chars).
dayFull lower case day name (blank-padded to 9 chars).
DDDDay of year (001–366).
IDDDDay of ISO 8601 week-numbering year (001–371; day 1 of the year is Monday of the first ISO week).
DDay of the week, Sunday (1) to Saturday (7).
IDISO 8601 day of the week, Monday (1) to Sunday (7).
WWeek of month (1–5) (the first week starts on the first day of the month).
WWWeek number of year (1–53) (the first week starts on the first day of the year).
IWWeek number of ISO 8601 week-numbering year (01–53; the first Thursday of the year is in week 1).
CCCentury (2 digits) (the twenty-first century starts on 2001-01-01).
JJulian Date.
QQuarter.
RMMonth in upper case Roman numerals (I–XII; I=January).
rmMonth in lower case Roman numerals (i–xii; i=January).
TZUpper case time-zone abbreviation (only supported in to_char).
tzLower case time-zone abbreviation (only supported in to_char).
TZHTime-zone hours.
TZMTime-zone minutes.
OFTime-zone offset from UTC (only supported in to_char).
FM prefixFill mode (suppress leading zeroes and padding blanks).
TH suffixUpper case ordinal number suffix.
th suffixLower case ordinal number suffix.
FX prefixFixed format global option (see usage notes).
TM prefixTranslation mode (use localized day and month names based on lc_time).
SP suffixSpell mode.

Weitere Einzelheiten finden Sie in der Dokumentation der PostgreSQL Datums-/Uhrzeitformate.

Die Transformation der TO_CHAR-Funktion unterstützt die meisten Formatelemente. Eine vollständige Liste der unterstützten Formatelemente und ihrer entsprechenden Zuordnungen finden Sie in der Übersetzungsspezifikation

Numerisch

Muster

Beschreibung

PR

Negativer Wert in spitzen Klammern

RN

Römische Ziffer (Eingabe zwischen 1 und 3999)

TH oder th

Ordnungszahlsuffix

V

Verschieben einer bestimmten Anzahl von Ziffern (siehe Anmerkungen)

EEEE

Exponent für wissenschaftliche Notation

Weitere Einzelheiten finden Sie in der Dokumentation PostgreSQL numerischer Formate.

Codebeispiel

Eingabecode:

SELECT
   DATE_TRUNC('decade', TIMESTAMP '2017-03-17 02:09:30'),
   DATE_TRUNC('century', TIMESTAMP '2017-03-17 02:09:30'),
   DATE_TRUNC('millennium', TIMESTAMP '2017-03-17 02:09:30');
Copy

Ausgabecode:

SELECT
      !!!RESOLVE EWI!!! /*** SSC-EWI-PG0005 - DECADE FORMAT IS NOT SUPPORTED IN SNOWFLAKE. ***/!!!
      DATE_TRUNC('decade', TIMESTAMP '2017-03-17 02:09:30'),
      !!!RESOLVE EWI!!! /*** SSC-EWI-PG0005 - CENTURY FORMAT IS NOT SUPPORTED IN SNOWFLAKE. ***/!!!
      DATE_TRUNC('century', TIMESTAMP '2017-03-17 02:09:30'),
      !!!RESOLVE EWI!!! /*** SSC-EWI-PG0005 - MILLENNIUM FORMAT IS NOT SUPPORTED IN SNOWFLAKE. ***/!!!
      DATE_TRUNC('millennium', TIMESTAMP '2017-03-17 02:09:30');
Copy

Empfehlungen

SSC-EWI-PG0015

Schweregrad

Medium

Beschreibung

In PostgreSQL können Sie eine FETCH Anweisung verwenden, um abgerufene Zeilenwerte direkt in der Konsole anzuzeigen, ohne eine INTO-Klausel zu verwenden. Bei der Verwendung von Snowflake muss die FETCH-Anweisung jedoch eine INTO-Klausel enthalten, um die Variablen anzugeben, in denen die abgerufenen Werte gespeichert werden sollen.

Wenn SnowConvert auf eine FETCH-Anweisung ohne eine INTO-Klausel stößt, erzeugt es eine EWI-Meldung (Error, Warning, Information), um den Benutzer darüber zu informieren, dass diese FETCH-Syntax nicht unterstützt wird.

Codebeispiel

Eingabecode:

FETCH PRIOR FROM cursor1;
Copy

Ausgabecode:

!!!RESOLVE EWI!!! /*** SSC-EWI-PG0015 - FETCH CURSOR WITHOUT TARGET VARIABLES IS NOT SUPPORTED IN SNOWFLAKE ***/!!!
FETCH PRIOR FROM cursor1;
Copy

Empfehlungen

SSC-EWI-PG0001

Schweregrad

Medium

Beschreibung

Dieser Fehler tritt auf, weil SnowConvert die Funktion age() nicht unterstützt.

Codebeispiel

Eingabecode:

SELECT
   age(date1::date, date2::date)
FROM
   Table1;
Copy

Ausgabecode:

SELECT
      !!!RESOLVE EWI!!! /*** SSC-EWI-PG0001 - AGE IS NOT SUPPORTED ON SNOWFLAKE. ***/!!!
      age(date1::date, date2::date)
FROM
      Table1;
Copy

Empfehlungen

  • Die Funktion Datediff hilft bei der Berechnung von Zeitunterschieden zwischen Datumsangaben. Sie können damit zwar bestimmte Datumsbereiche abrufen, aber Sie müssen die Implementierung für jeden Anwendungsfall anpassen. Ausführliche Informationen finden Sie in der Snowflake-Dokumentation zu Datediff.

  • Wenn Sie weitere Hilfe benötigen, kontaktieren Sie uns unter snowconvert-support@snowflake.com

SSC-EWI-PG0011

Schweregrad

Niedrig

Beschreibung

PostgreSQL-Sequenzanweisungen haben bestimmte Optionen, die nicht mit der Funktionalität von Snowflake kompatibel sind.

Die folgenden Features werden derzeit nicht unterstützt:

  • Unlogged: Sequenzen werden nicht in das Write-Ahead-Protokoll (WAL) geschrieben

  • AS <data_type>: Gibt den Datentyp der Sequenz an

  • MinValue: Legt den Mindestwert für die Sequenz fest

  • MaxValue: Legt den maximalen Wert für die Sequenz fest

  • No MinValue: Entfernt die Mindestwertbegrenzung

  • No MaxValue: Entfernt die Höchstwertbegrenzung

  • Cache: Legt fest, wie viele Sequenznummern im Speicher vorab reserviert werden sollen

  • Cycle: Ermöglicht einen Neustart der Sequenz, wenn ihre Begrenzung erreicht wurde

  • Owner By: Weist die Eigentümerschaft der Sequenz einem bestimmten Benutzer zu

Codebeispiel

Eingabecode:

CREATE UNLOGGED SEQUENCE sequence_name;
Copy

Ausgabecode:

--** SSC-FDM-PG0009 - THE SEQUENCE NEXTVAL PROPERTY SNOWFLAKE DOES NOT GUARANTEE GENERATING SEQUENCE NUMBERS WITHOUT GAPS. **
CREATE UNLOGGED !!!RESOLVE EWI!!! /*** SSC-EWI-PG0011 - 'UNLOGGED' IS NOT SUPPORTED BY SNOWFLAKE. ***/!!! SEQUENCE sequence_name;
Copy

Empfehlungen

SSC-EWI-PG0010

Schweregrad

Niedrig

Beschreibung

Wenn PostgreSQL eine temporäre Sequenz erstellt, existiert diese nur während der aktuellen Sitzung und wird automatisch entfernt, wenn die Sitzung endet. Da Snowflake keine temporären Sequenzen unterstützt, wandelt SC sie in reguläre Sequenzen um. Dies kann zu Namenskonflikten führen, wenn eine Sequenz mit demselben Namen bereits in Snowflake vorhanden ist, was zu einem Fehler führt.

Codebeispiel

Eingabecode:

CREATE TEMPORARY SEQUENCE sequence1;
CREATE TEMP SEQUENCE sequence2;
Copy

Ausgabecode:

--** SSC-FDM-PG0009 - THE SEQUENCE NEXTVAL PROPERTY SNOWFLAKE DOES NOT GUARANTEE GENERATING SEQUENCE NUMBERS WITHOUT GAPS. **
CREATE TEMPORARY !!!RESOLVE EWI!!! /*** SSC-EWI-PG0010 - CREATE TEMPORARY SEQUENCE IS NOT SUPPORTED BY SNOWFLAKE. ***/!!! SEQUENCE sequence1;


--** SSC-FDM-PG0009 - THE SEQUENCE NEXTVAL PROPERTY SNOWFLAKE DOES NOT GUARANTEE GENERATING SEQUENCE NUMBERS WITHOUT GAPS. **
 CREATE TEMP !!!RESOLVE EWI!!! /*** SSC-EWI-PG0010 - CREATE TEMPORARY SEQUENCE IS NOT SUPPORTED BY SNOWFLAKE. ***/!!! SEQUENCE sequence2;
Copy

Empfehlungen

  • Wenn Sie bei der Erstellung Probleme haben, versuchen Sie, die Sequenz umzubenennen, um Namenskonflikte zu vermeiden.

  • Wenn Sie weitere Hilfe benötigen, kontaktieren Sie uns bitte unter snowconvert-support@snowflake.com.

SSC-EWI-PG0004

Schweregrad

Medium

Beschreibung

Die EXCLUDE-Einschränkung, die in PostgreSQL verfügbar ist, wird derzeit in Snowflake nicht unterstützt.

Codebeispiel

Eingabecode:

CREATE TABLE Table1 (
    id      int,
    EXCLUDE USING gist (id WITH &&)
);
Copy

Ausgabecode:

CREATE TABLE Table1 (
    id      int,
    !!!RESOLVE EWI!!! /*** SSC-EWI-PG0004 - EXCLUDE CONSTRAINT IS NOT SUPPORTED IN SNOWFLAKE. ***/!!!
    EXCLUDE USING gist (id WITH &&)
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "postgresql",  "convertedOn": "09/17/2024" }}';
Copy

Empfehlungen

SSC-EWI-PG0014

Schweregrad

Moderat

Beschreibung

In Snowflake ruft die Anweisung FETCH cursor die nächste Zeile aus einem Cursor ab. Bei der Konvertierung von Code transformiert SnowConvert Cursor-Navigationsbefehle, die FETCH NEXT entsprechen, da sie in Snowflake die gleiche Funktion ausführen.

  • FETCH NEXT: Ruft die nächste Zeile aus dem Resultset ab

  • FETCH FORWARD: Bewegt sich vorwärts, um die nächste Zeile abzurufen

  • FETCH RELATIVE 1: Bewegt sich von der aktuellen Position aus eine Zeile weiter

  • FETCH (ohne Richtungsangabe): Verwendet die Standard-Vorwärtsbewegung, um die nächste Zeile abzurufen

Andere Ausrichtungen als die Standardausrichtung werden nicht unterstützt. Falls verwendet, wird die FETCH-Anweisung mit einer EWI-Meldung (Error, Warning, Information) markiert.

Codebeispiel

Eingabecode:

CREATE OR REPLACE PROCEDURE cursor_test()
AS $$
BEGIN
   FETCH FORWARD FROM cursor1 INTO my_var;
   FETCH FIRST FROM cursor1 INTO my_var;
   FETCH LAST FROM cursor1 INTO my_var;
END;
$$;
Copy

Ausgabecode:

CREATE OR REPLACE PROCEDURE cursor_test ()
RETURNS VARCHAR
AS $$
BEGIN
   FETCH
   	cursor1 INTO my_var;
   !!!RESOLVE EWI!!! /*** SSC-EWI-PG0014 - SNOWFLAKE SCRIPTING CURSORS DO NOT SUPPORT FETCH ORIENTATION. ***/!!!
   FETCH FIRST FROM cursor1 INTO my_var;
   !!!RESOLVE EWI!!! /*** SSC-EWI-PG0014 - SNOWFLAKE SCRIPTING CURSORS DO NOT SUPPORT FETCH ORIENTATION. ***/!!!
   FETCH LAST FROM cursor1 INTO my_var;
END;
$$;
Copy

Empfehlungen