Садржај
Увод

11. Упити над базом података

11.1. Директива dbpetlja

11.1.1. Основна употреба директиве

Директива dbpetlja омогућава аутору да постави задатак у коме је потребно написати SQL упит. Приликом писања директиве, потребно је навести име базе података на коју се односи упит (параметар :dbfile:), као и (један могући) упит којим се добија тачан резултат (параметар :solutionquery:).


Пример 1: Написати упит којим се приказују сви подаци о запосленим особама у библиотеци.

reST кôд:

.. dbpetlja:: db_jedinstveni_identifikator_1
    :dbfile: it3_biblioteka.sql
    :solutionquery: SELECT *
                    FROM zaposleni

Изглед компоненте:



Резултат упита се кликом на дугме Изврши упит приказује у веб страници.

Уједно, након првог притиска на дугме Изврши упит (чак и када упит није унет), појављује се списак свих табела изабране базе података. Кликом на неку од табела добија се њен садржај, тј. првих неколико редова те табеле.

Притиском на дугме Тестирај упит покреће се поређење резултата унетог упита и очекиваног резултата. Као одговор се добија коментар, који говори да ли је резултат унетог упита једнак очекиваном резултату.

11.1.2. Могућност приказа очекиваног резултата

Директива dbpetlja има и опциони параметар :showresult:. Ако се наведе овај параметар, појављује се и дугме Прикажи очекивани резултат. Притиском на ово дугме добија се приказ резултата који треба да се добије као резултат унетог упита.

Пример 2: Написати упит којим се приказује назив књиге која је издата током последње позајмице.

reST кôд:

.. dbpetlja:: db_4249
    :dbfile: it3_biblioteka.sql
    :showresult:
    :solutionquery: SELECT naziv
                    FROM pozajmice JOIN primerci ON (pozajmice.inventarski_broj=primerci.inventarski_broj)
                    JOIN knjige ON (primerci.id_knjige=knjige.id_knjige)
                    WHERE datum_uzimanja = (SELECT MAX(datum_uzimanja) FROM pozajmice)

Изглед компоненте:



(Created using Swinx, RunestoneComponents and PetljaDoc)
© 2022 Petlja
A- A+