Udostępnij przez


Osadzona baza danych SQL

Pierwszą techniką wysyłania instrukcji SQL do usługi DBMS jest osadzona baza danych SQL. Ponieważ język SQL nie używa zmiennych i instrukcji control-of-flow, jest często używany jako podjęzyczność bazy danych, którą można dodać do programu napisanego w konwencjonalnym języku programowania, takim jak C lub COBOL. Jest to centralna idea osadzonego języka SQL: umieszczanie instrukcji SQL w programie napisanym w języku programowania hosta. Krótko mówiąc, następujące techniki są używane do osadzania instrukcji SQL w języku hosta:

  • Osadzone instrukcje SQL są przetwarzane przez specjalny prekompiler SQL. Wszystkie instrukcje SQL zaczynają się od introduktora i kończą się terminatorem, które oznaczają instrukcję SQL dla prekompilatora. Wprowadzenie i terminator różnią się w zależności od języka hosta. Na przykład wprowadzenie to "EXEC SQL" w języku C i "&SQL(" w MUMPS, a terminatorem jest średnik (;) w C, a w MUMPS prawy nawias.

  • Zmienne z programu aplikacji, nazywane zmiennymi hosta, mogą być używane w osadzonych instrukcjach SQL wszędzie tam, gdzie są dozwolone stałe. Można ich używać w danych wejściowych, aby dostosować instrukcję SQL do określonej sytuacji i na danych wyjściowych w celu otrzymania wyników zapytania.

  • Zapytania zwracające pojedynczy wiersz danych są obsługiwane za pomocą pojedynczej instrukcji SELECT; ta instrukcja określa zarówno zapytanie, jak i zmienne hosta, w których mają być zwracane dane.

  • Zapytania zwracające wiele wierszy danych są obsługiwane za pomocą kursorów. Kursor śledzi bieżący wiersz w zestawie wyników. Instrukcja DECLARE CURSOR definiuje zapytanie, instrukcja OPEN rozpoczyna przetwarzanie zapytania, instrukcja FETCH pobiera kolejne wiersze danych, a instrukcja CLOSE kończy przetwarzanie zapytań.

  • Gdy kursor jest otwarty, można użyć instrukcji positioned update i positioned delete, aby zaktualizować lub usunąć wiersz aktualnie wybrany przez kursor.

Ta sekcja zawiera następujące tematy.