Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

SQL-kyselyt

SKJ-kassajärjestelmän tietokantana toimii Pervasive.SQL -tietokanta, joka käyttää 'ohjelmointikielenään' SQL:ää (SQL = Structured Query Language).

Perusoppaita SQL-kyselyihin löytyy täältä.

Koottuja sql-lauseita löytyy tiedostopalvelimen sql kansiosta.

Kyselyiden ajaminen eri ympäristöissä

Pervasive.SQL v8

Kyselyitä ajetaan seuraavasti:

  1. Avaa SQL Data Manager (Käynnistä->Suorita..-> sqldmgr).
  • Käynnistä->Ohjelmat (tai Kaikki ohjelmat..) > Pervasive.SQL v8 > SQL Data Manager.
  1. Valitse tietokanta, johon kyselyn haluat tehdä.
  2. Kirjoita tai liitä haluamasi kysely yläpuoleiseen laatikkoon ja valitse kyselyn ensimmäinen suoritettava rivi.
  3. Valitse Tools->Query->Run all SQL statements.

Pervasive.SQL v9 ->

Kyselyitä ajetaan seuraavasti:

  1. Avaa Pervasive Control Center. Vaihtoehtoisesti voit valita käynnistä->suorita ja kirjoittaa siihen komennoksi pcc.
  2. Valitse File -> New SQL Document. Voit klikata myös kohdasta 'Common tasks' -> 'Execute SQL command'.
  3. Valitse haluttu palvelin ja tietokanta.
  4. Kirjoita tai liitä haluamasi kysely yläpuoleiseen laatikkoon ja valitse kyselyn ensimmäinen suoritettava rivi.
  5. Valitse SQL -> Execute in Grid (myös F9) tai SQL -> Execute in Text (myös Shift+F9).

SkjSQL

Voit ajaa kyselyitä myös komentorivipohjaisella skjsql.exe:llä, jonka voi hakea osoitteesta http://testi.skj.fi/winskj/skjsql_update.exe.

  1. Käynnistä skjsql (Käynnistä->Suorita.. -> C:\WINSKJ\SKJSQL.EXE).
  2. Valitse käytettävä tietokanta kirjoittamalla 'use TIETOKANTA'.
  3. Kirjoita tai liitä haluamasi kysely ja paina Enter.

Ohjelmasta poistutaan kirjoittamalla 'exit'.

Toimittaessa paljon komentokehotteessa voi ajaa toistuvia sql-lauseita myös esim. seuraavasti:

skjsql TIETOKANTA "select count(*) from tuote"

tai tiedostosta

skjsql TIETOKANTA /f:TIEDOSTONIMI

.

Sql lauseissa voi käyttää puolipistettä ; tai risuaitamerkkiä (#) erottimena.
Tällöin tulee huolehtia, että ennen merkkiä on välilyönti.

Kyselyn parametreja voidaan välittää /P: parametrilla esim. sql.sql tiedostossa lause:

  • select sum(summa) from tuotemyy where asiakas=:asnro and pvm=:pvm ;
  • select max(summa) from tuotemyy where asiakas=:asnro and pvm=:pvm ;
    voidaan ajaa
    skjsql YRITYS {{/p:ASNRO=100 /p:pvm=$spvm /f:}}sql.sql
    $spvm korvautuu yyyymmdd päivällä ja $pvm korvautuu yyyy-mm-dd päiväyksellä. Päiväyksenä käytetään aina kuluvaa päivää.

Muut komentoriviparametrit:

  • /O:tiedosto vie tulokset tähän tiedostoon. Ajettaesssa /f parametrilla pelkkä /o ohjaa tuloksen näytölle.
  • /H tulostaa myös otsikot eli kenttien nimet tuloslistaan.
  • /K:toinenkanta, voidaan määrätä toinen tietokanta. Sql-lauseessa se pitää olla $apukanta$.
  • /A tulostiedosto jatketaan perään (append).
  • /L:logtiedosto vie login tähän tiedostoon, pelkkä /L: tuottaa login näytölle.
  • /C lukee sql-lauseen leikepöydältä.
  • /OF:arvo=muoto määrittelee muotoiluja (Output Format). Arvo voi olla
    • shortdate päivän lyhyt muoto esim yyyymmdd tai dd.mm.yyyy
    • longtime ajan pitkä muoto esim. hh:nn:ss
    • decimalsep desimaali erotin
      Alla mainituilla ei ole vaikutusta TimeStamp, Date, Time kenttiin
    • shorttime ajan lyhyt muoto (ei vaikutusta time kentissä)
    • longdate päivän mitkä muoto (ei vaikutusta date kentissä)
    • datesep päivän erotin esim:

 

skjsql YRITYS /of:decimalsep=. /of:shortdate=yyyymmdd /of:longtime=hhnnss "select tuote,saldo, muutospvm, muutosklo from varsaldo"

 

WinSKJ

WinSKJ:n alta voidaan ajaa SELECT kyselyitä (ei UPDATE / DELETE / ALTER jne.). Nämä kyselyt voidaan myös siirtää esim. Exceliin. Ajo tapahtuu valikosta tiedostojen selailu>export toiminnolla. SQL -lause kirjoitetaan ylös ja painetaan Suorita kysely. Kun tulokset halutaan viedä Exceliin, painetaan Vie tulokset. Jos halutaan viedä myös otsikot, ruksataan Vie myös otsikot.

 

  • No labels