fedSql

execDirect

Beschreibung

Führt eine SAS FedSQL-Sprachanweisung zur sofortigen Ausführung aus. Diese Aktion ermöglicht es Benutzern, standardisierte SQL-Abfragen direkt an die CAS-Sitzung zu senden, um Daten im Speicher zu verarbeiten oder über implizites Pass-Through auf externe Datenquellen zuzugreifen.

fedSql.execDirect / cntl={disablePassThrough=TRUE|FALSE, dynamicCardinality=TRUE|FALSE, optimizeVarbinaryPrecision=TRUE|FALSE, optimizeVarcharPrecision=TRUE|FALSE, preserveJoinOrder=TRUE|FALSE, requireFullPassThrough=TRUE|FALSE, showStages=TRUE|FALSE} method=TRUE|FALSE query="string" showPlan=TRUE|FALSE showStages=TRUE|FALSE validateOnly=TRUE|FALSE;
Einstellungen
ParameterBeschreibung
cntlGibt optionale Steuerungsparameter an, z. B. um Pass-Through zu deaktivieren oder die Kardinalitätsschätzung zu aktivieren.
methodWenn auf 'true' gesetzt, wird eine kurze Beschreibung des FedSQL-Abfrageplans im Protokoll ausgegeben.
queryDie auszuführende SAS FedSQL-Sprachanweisung. Dies ist ein erforderlicher Parameter.
showPlanWenn auf 'true' gesetzt, wird ein XML-Baum ausgegeben, der den FedSQL-Abfrageplan darstellt.
showStagesWenn auf 'true' gesetzt, werden Details zu den Ausführungsstufen der Abfrage angezeigt.
validateOnlyWenn auf 'true' gesetzt, wird die Syntax der Abfrage validiert, ohne sie tatsächlich auszuführen.
Erstellung von Beispieldaten

Lädt den Datensatz 'cars' aus der SAShelp-Bibliothek in den Speicher der CAS-Sitzung unter dem Namen 'casuser.cars'.

Kopiert!
1 
2PROC CAS;
3dataStep.runCode / code="
4data casuser.cars;
5set sashelp.cars;
6 
7run;
8";
9 
10RUN;
11 

Beispiele

Wählt spezifische Spalten (Hersteller, Modell, Preis) aus der Tabelle 'cars' aus, filtert nach Fahrzeugen mit einem Preis über 50.000 und beschränkt das Ergebnis auf 5 Zeilen.

SAS® / CAS-Code Code wartet auf Validierung durch die Community
Kopiert!
1 
2PROC CAS;
3fedSql.execDirect / query="select make, model, msrp from casuser.cars where msrp > 50000 limit 5";
4 
5RUN;
6 
Ergebnis :
Eine Ergebnistabelle mit 5 Zeilen, die teure Autos zeigt.

Berechnet den Durchschnittspreis pro Fahrzeughersteller, gruppiert die Ergebnisse und filtert Gruppen mit einem Durchschnittspreis über 40.000. Zusätzlich werden der Ausführungsplan ('showPlan') und die Methode ('method') zur Leistungsanalyse angefordert.

SAS® / CAS-Code Code wartet auf Validierung durch die Community
Kopiert!
1 
2PROC CAS;
3fedSql.execDirect / query="select make, avg(msrp) as avg_price from casuser.cars group by make having avg(msrp) > 40000" method=true showPlan=true;
4 
5RUN;
6 
Ergebnis :
Eine Tabelle mit Herstellern von Luxusfahrzeugen und deren Durchschnittspreisen, sowie technische Details zum Abfrageplan im Protokoll.

FAQ

Was ist der Hauptzweck der Aktion execDirect?
Welcher Parameter ist für diese Aktion zwingend erforderlich?
Wie kann die implizite Durchleitung (Implicit Pass-Through) deaktiviert werden?
Welche Funktion hat der Parameter "validateOnly"?
Wie kann man Details zur Ausführung der Abfrage und den Abfrageplan anzeigen?
Was bewirkt die Option "requireFullPassThrough" im Parameter "cntl"?