Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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.