DBEXECUTEFIXED

DBEXECUTEFIXED is een alternatief voor DBEXECUTE die parameters ondersteunt. In tegenstelling tot DBEXECUTE kan dit worden gebruikt in zowel cloud- als lokale omgevingen, evenals in aangepaste of uitgebreide applicaties.

De SQL-instructie wordt behandeld als vaste tekst en kan daarom niet rechtstreeks verwijzen naar variabelen.

Als de instructie zich in een onbeveiligde cel bevindt, kunt u de waarde bijwerken die deze retourneert, maar in tegenstelling tot DBEXECUTE kunt u geen nieuwe rijen toevoegen.

NB

Parameternamen zijn hoofdlettergevoelig.

Syntaxis

De DBEXECUTEFIXED-formule heeft deze parameters.

  1. Alias: Hiermee wordt de relationele gegevensverbinding opgegeven die is gedefinieerd in d/EPM Administration.
  2. Instructie selecteren: Dit wordt gebruikt om gegevens op te halen uit de database. Het betreft een standaard SQL SELECT-opdracht. Om het bijwerken van de database mogelijk te maken, moet de query de primaire sleutel bevatten. De SQL SELECT kan meerdere waarden retourneren uit een rij, maar DBEXECUTEFIXED negeert ze allemaal, met uitzondering van de eerste. Als u dus een andere waarde dan de primaire sleutel wilt retourneren en terugschrijven, moet u ervoor zorgen dat de primaire sleutel niet de eerste waarde is die door de instructie wordt aangevraagd. Voor terugschrijven moet de cel met de query onbeveiligd zijn.
  3. Parameterwaarden: U kunt parameters met een enkele waarde en met meerdere waarden gebruiken. In SQL-instructies verwijst u naar parameters met een enkele waarde met @[parameter_name]. Verwijs naar parameters met meerdere waarden met @@[parameter_name]. Waarden in parameters met meerdere waarden moeten door het sluisteken (|) worden gescheiden.
=DBEXECUTEFIXED("alias", "select_statement", {, "parameter"})

Parameternamen worden automatisch toegewezen als p1,p2, enz.

Voorbeeld

In dit voorbeeld retourneert de formule de naam van het item waarbij de ID de waarde heeft die zich momenteel in de rapportvariabele rv_configs bevindt. items.ID is de primaire sleutel.

=DBEXECUTEFIXED("configdb", "SELECT items.name,items.ID FROM items WHERE Id=@p1",ReportVariables.rv_configs.Text)

items.id is de primaire sleutel. Als de formule in een onbeveiligde cel staat en een waarde retourneert, kunt u de waarde bijwerken: in dit voorbeeld is dit de itemnaam.

NB

Omdat de volledige SQL-instructie als tekst wordt behandeld, hoeft u geen tekenreekswaarden samen te voegen met het &-teken, zoals nodig is in de volgende DBEXECUTE-formules:

=DBEXECUTE("configdb", "SELECT items.name,items.ID FROM items WHERE Id="&ReportVariables.rv_configs.Text)
=DBEXECUTE("configdb", "SELECT items.ID,items.name FROM items WHERE name='"&ReportVariables.rv_name.Text&"'")

De syntaxis van de samenvoeging verschilt, omdat in het eerste voorbeeld de waarde waarnaar wordt verwezen numeriek is en in de tweede tekst is.