SnowConvert AI – SQL Server – Azure Synapse – SELECT¶
SELECT¶
Übersetzungsreferenz für SELECT-Anweisung innerhalb von Prozeduren in Transact-SQL.
Applies to
SQL Server
Azure Synapse Analytics
Bemerkung
Mehrere Resultsets werden in temporären Tabellen zurückgegeben
Beschreibung¶
Snowflake SQL supports returning tables as a return type for Stored Procedures, but unlike Transact-SQL, Snowflake does not support returning multiple resultsets in the same procedure. For this scenario, all the query IDs are stored in a temporary table and returned as an array.
Beispielhafte Quellcode-Muster¶
Das folgende Beispiel beschreibt die Transformation, wenn es nur eine SELECT-Anweisung in der Prozedur gibt.
Transact-SQL¶
Einzelnes Resultset¶
Ausgabe¶
DepartmentID |
Name |
GroupName |
|---|---|---|
1 |
Engineering |
Research and Development |
2 |
Tool Design |
Research and Development |
3 |
Sales |
Sales and Marketing |
4 |
Marketing |
Sales and Marketing |
5 |
Purchasing |
Inventory Management |
6 |
Research and Development |
Research and Development |
7 |
Produktion |
Manufacturing |
8 |
Production Control |
Manufacturing |
9 |
Human Resources |
Executive General and Administration |
10 |
Finanzen |
Executive General and Administration |
11 |
Information Services |
Executive General and Administration |
12 |
Document Control |
Quality Assurance |
13 |
Quality Assurance |
Quality Assurance |
14 |
Facilities and Maintenance |
Executive General and Administration |
15 |
Shipping and Receiving |
Inventory Management |
16 |
Executive |
Executive General and Administration |
Snowflake SQL¶
Einzelnes Resultset¶
Ausgabe¶
DepartmentID |
Name |
GroupName |
|---|---|---|
1 |
Engineering |
Research and Development |
2 |
Tool Design |
Research and Development |
3 |
Sales |
Sales and Marketing |
4 |
Marketing |
Sales and Marketing |
5 |
Purchasing |
Inventory Management |
6 |
Research and Development |
Research and Development |
7 |
Produktion |
Manufacturing |
8 |
Production Control |
Manufacturing |
9 |
Human Resources |
Executive General and Administration |
10 |
Finanzen |
Executive General and Administration |
11 |
Information Services |
Executive General and Administration |
12 |
Document Control |
Quality Assurance |
13 |
Quality Assurance |
Quality Assurance |
14 |
Facilities and Maintenance |
Executive General and Administration |
15 |
Shipping and Receiving |
Inventory Management |
16 |
Executive |
Executive General and Administration |
Das folgende Beispiel beschreibt die Transformation, wenn es viele SELECT-Anweisungen in der Prozedur gibt.
Transact-SQL¶
Mehrere Resultsets¶
Ausgabe¶
DepartmentID |
Name |
GroupName |
|---|---|---|
1 |
Engineering |
Research and Development |
2 |
Tool Design |
Research and Development |
3 |
Sales |
Sales and Marketing |
4 |
Marketing |
Sales and Marketing |
5 |
Purchasing |
Inventory Management |
6 |
Research and Development |
Research and Development |
7 |
Produktion |
Manufacturing |
8 |
Production Control |
Manufacturing |
9 |
Human Resources |
Executive General and Administration |
10 |
Finanzen |
Executive General and Administration |
11 |
Information Services |
Executive General and Administration |
12 |
Document Control |
Quality Assurance |
13 |
Quality Assurance |
Quality Assurance |
14 |
Facilities and Maintenance |
Executive General and Administration |
15 |
Shipping and Receiving |
Inventory Management |
16 |
Executive |
Executive General and Administration |
ShiftID |
Name |
StartTime |
EndTime |
ModifiedDate |
|---|---|---|---|---|
1 |
Tag |
07:00:00 |
15:00:00 |
2008-04-30 00:00:00,000 |
2 |
Abend |
15:00:00 |
23:00:00 |
2008-04-30 00:00:00,000 |
3 |
Nacht |
23:00:00 |
07:00:00 |
2008-04-30 00:00:00,000 |
Snowflake SQL¶
Einzelnes Resultset¶
Ausgabe¶
DepartmentID |
Name |
GroupName |
|---|---|---|
1 |
Engineering |
Research and Development |
2 |
Tool Design |
Research and Development |
3 |
Sales |
Sales and Marketing |
4 |
Marketing |
Sales and Marketing |
5 |
Purchasing |
Inventory Management |
6 |
Research and Development |
Research and Development |
7 |
Produktion |
Manufacturing |
8 |
Production Control |
Manufacturing |
9 |
Human Resources |
Executive General and Administration |
10 |
Finanzen |
Executive General and Administration |
11 |
Information Services |
Executive General and Administration |
12 |
Document Control |
Quality Assurance |
13 |
Quality Assurance |
Quality Assurance |
14 |
Facilities and Maintenance |
Executive General and Administration |
15 |
Shipping and Receiving |
Inventory Management |
16 |
Executive |
Executive General and Administration |
ShiftID |
Name |
StartTime |
EndTime |
ModifiedDate |
|---|---|---|---|---|
1 |
Tag |
07:00:00 |
15:00:00 |
2008-04-30 00:00:00,000 |
2 |
Abend |
15:00:00 |
23:00:00 |
2008-04-30 00:00:00,000 |
3 |
Nacht |
23:00:00 |
07:00:00 |
2008-04-30 00:00:00,000 |
Bekannte Probleme¶
Auf die Abfrageergebnisse sollten Sie über die IDs zugreifen, die von der gespeicherten Prozedur zurückgegeben wird
TOP¶
Applies to
SQL Server
Azure Synapse Analytics
Beschreibung¶
Bemerkung
Einige Teile des Ausgabecodes wurden aus Gründen der Übersichtlichkeit weggelassen.
Schränkt die in einem Resultset der Abfrage zurückgegebenen Zeilen auf eine bestimmte Anzahl von Zeilen oder einen bestimmten Prozentsatz von Zeilen ein. Wenn Sie TOP mit der ORDER BY-Klausel verwenden, ist das Resultset auf die erste N Anzahl der geordneten Zeilen beschränkt. Andernfalls gibt TOP die erste _ N _ Anzahl von Zeilen in einer undefinierten Reihenfolge zurück. Verwenden Sie diese Klausel, um die Anzahl der Zeilen anzugeben, die von einer SELECT -Anweisung zurückgegeben werden. Oder verwenden Sie TOP, um die Zeilen anzugeben, die von einer INSERT-, UPDATE-, MERGE- oder DELETE-Anweisung betroffen sind. (Transact-SQL TOP-Dokumentation)
Syntax in Transact-SQL¶
Bemerkung
Weitere Informationen zu den TOP-Argumenten finden Sie in der Transact-SQL TOP-Dokumentation.
Syntax in Snowflake¶
Bemerkung
Weitere Informationen über TOP Argumente finden Sie in der TOP-Dokumentation von Snowflake.
Beispielhafte Quellcode-Muster¶
Um die folgenden Beispiele korrekt auszuführen, ist es erforderlich, die folgende CREATE TABLE-Anweisung auszuführen:
Transact-SQL¶
Snowflake¶
Allgemeiner Fall¶
Transact-SQL¶
Abfrage¶
Ergebnis¶
Modell |
Farbe |
Preis (price) |
|---|---|---|
sedan |
rot |
10000.0000 |
Snowflake¶
Abfrage¶
Ergebnis¶
MODEL |
COLOR |
PRICE |
|---|---|---|
sedan |
rot |
10.000 |
TOP mit PERCENT¶
Transact-SQL¶
Abfrage¶
Ergebnis¶
Modell |
Farbe |
Preise |
|---|---|---|
sedan |
rot |
10000.0000 |
convertible |
blau |
15000.0000 |
coupe |
grün |
20000.0000 |
Snowflake¶
Abfrage¶
Ergebnis¶
MODEL |
COLOR |
PRICE |
|---|---|---|
sedan |
rot |
10.000 |
convertible |
blau |
15.000 |
coupe |
rot |
20.000 |
van |
blau |
8,000 |
sub |
grün |
8,000 |
Warnung
Da das Argument PERCENT von Snowflake nicht unterstützt wird, wird es aus der TOP-Klausel entfernt. Deshalb ist das Ergebnis der Ausführung der Abfrage in Snowflake nicht gleichwertig mit Transact-SQL.
TOP WITH TIES¶
Transact-SQL¶
Abfrage¶
Ergebnis¶
Modell |
Farbe |
Preis (price) |
|---|---|---|
van |
blau |
8000.0000 |
sub |
grün |
8000.0000 |
sedan |
rot |
10000.0000 |
Snowflake¶
Abfrage¶
Ergebnis¶
MODEL |
COLOR |
PRICE |
|---|---|---|
sub |
grün |
8,000 |
van |
blau |
8,000 |
sedan |
rot |
10.000 |
convertible |
blau |
15.000 |
coupe |
rot |
20.000 |
Warnung
Da das Argument WITH TIES von Snowflake nicht unterstützt wird, wird es aus der TOP-Klausel entfernt. Deshalb ist das Ergebnis der Ausführung der Abfrage in Snowflake nicht gleichwertig mit Transact-SQL.
Bekannte Probleme¶
1. PERCENT argument is not supported by Snowflake¶
Da das PERCENT-Argument von Snowflake nicht unterstützt wird, wird es aus der TOP-Klausel entfernt und eine Warnung hinzugefügt. Bei den Ergebnissen kann es zu Funktionsäquivalenzfehlern kommen.
2. WITH TIES argument is not supported by Snowflake¶
Da das WITH TIES-Argument von Snowflake nicht unterstützt wird, wird es aus der TOP-Klausel entfernt und eine Warnung hinzugefügt. Bei den Ergebnissen kann es zu Funktionsäquivalenzfehlern kommen.
Zugehörige EWIs¶
[SSC-EWI-0040](../../general/technical-documentation/issues-and-troubleshooting/conversion-issues/generalEWI. md#ssc-ewi-0040): Anweisung wird nicht unterstützt.