DBEXECUTEFIXED

DBEXECUTEFIXED er et alternativ til DBEXECUTE som støtter parametere. I motsetning til DBEXECUTE, kan den brukes i både skymiljøer og lokale miljøer samt i egendefinerte og utvidede applikasjoner.

SQL-setningen behandles som fast tekst, og kan derfor ikke referere til variabler direkte.

Hvis setningen er i en ubeskyttet celle, kan du oppdatere verdien den returnerer, men i motsetning til DBEXECUTE, kan du ikke legge til nye rader.

Merk

Parameternavn skiller mellom store og små bokstaver.

Syntaks

DBEXECUTEFIXED-formelen har disse parameterne.

  1. Alias: Dette angir relasjonsdatatilkoblingen som defineres i d/EPM Administration.
  2. Velg uttrykk: Dette brukes til å hente data fra databasen. Den er en standard SQL SELECT-kommando. Hvis du vil aktivere databasen så den skal oppdateres, må spørringen inkludere primærnøkkelen. SQL SELECT kan returnere flere verdier fra en rad, men DBEXECUTEFIXED ignorerer alle unntatt den første. For å returnere og tilbakeskrive en verdi som ikke er primærnøkkelen, må du sørge for at primærnøkkelen ikke er den første verdien som blir forespurt av setningen. For tilbakeskriving må cellen som inneholder spørringen være ubeskyttet.
  3. Parameterverdier: Du kan bruke enkeltverdi- og flerverdiparametere. I SQL-setninger refererer du en enkeltverdiparametere med @[parameter_name]. Referer til flerverdiparametere med @@[parameter_name]. Verdier i flerverdiparametere må skilles av pipe-tegnet (|).
=DBEXECUTEFIXED("alias", "select_statement", {, "parameter"})

Parameternavn tilordnes automatisk som p1,p2 osv.

Eksempel

I dette eksemplet returnerer formelen elementnavnet der ID-en har verdien som holdes i rapportvariabelen rv_configs. items.ID er primærnøkkelen.

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

items.id er primærnøkkelen. Hvis formelen er i en ubeskyttet celle og returnerer en verdi, kan du oppdatere verdien: i dette eksemplet, elementnavnet.

Merk

Siden hele SQL-setningen behandles som tekst, er det ingen krav å sammenkoble strengverdiene med &-tegnet, noe som er nødvendig i disse DBEXECUTE-formlene:

=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&"'")

Syntaksen for sammenkoblingen varierer, fordi verdien som er referert i det første eksemplet er numerisk, og i det andre er den teksten.