FKT SqlQuery: Unterschied zwischen den Versionen

Aus CoPlanner 11
Zur Navigation springenZur Suche springen
Keine Bearbeitungszusammenfassung
D.Harg (Diskussion | Beiträge)
Um Hinweis ergänzt, dass man in der Abfrage keine Funktionen benutzen kann, im englischen Wiki bereits vorhanden.
 
(7 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
==[[Framework:Formeln#Funktionen|Funktion]]==
==[[Framework:Formeln#Funktionen|Funktion]]==
<code>FKT_SqlQuery(<Query>)</code>


<span {{CoPFormel}}>FKT_SqlQuery(<Query>) </span>
Führt eine SQL-SELECT-Abfrage gegen die Systemdatenbank aus.


{| class="wikitable" width={{{breite|80%}}}
{|class="wikitable"
|- {{Tabellentitel}}
| width="150pt" |Parameter
| Beschreibung
|-
|-
|Query
! Parameter
|Abfrage, die ausgeführt werden soll.
! Beschreibung
|-
| query
| SQL-SELECT-Abfragetext.
|}
|}
Diese Funktion gehört zu den [[:Kategorie:Funktionen_-_serverseitig|serverseitigen Funktionen]].
Diese Funktion gehört zu den [[:Kategorie:Funktionen_-_serverseitig|serverseitigen Funktionen]].


Zeile 18: Zeile 20:
Die Datenbankverbindung geht immer auf die CoPlanner Datenbankverbindung, welche in der svrconfig.xml bei Connectionstring angegeben ist.
Die Datenbankverbindung geht immer auf die CoPlanner Datenbankverbindung, welche in der svrconfig.xml bei Connectionstring angegeben ist.


Bis CoP10 HF 2.7 bei Ausdrücken im CoPlanner Würfel oder Formeln die nicht typed sind: Es können keine SQL-Funktionen wie LEFT('xy',1), GETDATE(), usw. verwendet werden. Diese führen zu einem roten Würfel.
Untyped:
<code>FKT_SqlQuery(select copsys_id from dbo.Produkte where copsys_dim_name='Produkte')</code> -> liefert 1


Untyped:
[[Framework:Formeln:WarumTyped|Typed]]:
FKT_SqlQuery(select copsys_id from dbo.Produkte where copsys_dim_name='Produkte') -> liefert 1


Typed:
<code>fkt_SqlQuery('select copsys_id from Dim where copsys_id <> 2')</code> -> liefert alle copsys_ids von Dim die ungleich 2 sind


fkt_SqlQuery('select copsys_id from Dim where copsys_id <> 2') -> liefert alle copsys_ids von Dim die ungleich 2 sind
Man kann allerdings hier keine SQL-Funktionen, wie z.B. LEFT('xy',1), GETDATE(), etc nutzen. Die Verwendung derer wirft einen roten Würfel.
{{Hinweis|Text=Die Verarbeitung von SQL Variablen kann zu Fehlern führen da hier keine Abgrenzung zu Anwendungseigenschaften vorgenommen werden kann. Hier ist es besser Stored Procedures zu verwenden.}}


__NOEDITSECTION__  
__NOEDITSECTION__  

Aktuelle Version vom 30. September 2025, 15:28 Uhr

Funktion

FKT_SqlQuery(<Query>)

Führt eine SQL-SELECT-Abfrage gegen die Systemdatenbank aus.

Parameter Beschreibung
query SQL-SELECT-Abfragetext.

Diese Funktion gehört zu den serverseitigen Funktionen.

Ergebnis

Liefert das Ergebnis der SQL Query. Ist die Query ungültig oder es würde nichts zurückkommen wird 0 geliefert.

Die Datenbankverbindung geht immer auf die CoPlanner Datenbankverbindung, welche in der svrconfig.xml bei Connectionstring angegeben ist.

Untyped: FKT_SqlQuery(select copsys_id from dbo.Produkte where copsys_dim_name='Produkte') -> liefert 1

Typed:

fkt_SqlQuery('select copsys_id from Dim where copsys_id <> 2') -> liefert alle copsys_ids von Dim die ungleich 2 sind

Man kann allerdings hier keine SQL-Funktionen, wie z.B. LEFT('xy',1), GETDATE(), etc nutzen. Die Verwendung derer wirft einen roten Würfel.

Hinweis  Die Verarbeitung von SQL Variablen kann zu Fehlern führen da hier keine Abgrenzung zu Anwendungseigenschaften vorgenommen werden kann. Hier ist es besser Stored Procedures zu verwenden.