Przetwarzanie wyników (ODBC)
Po instrukcja języka SQL składa wniosek SQL Server zwraca wszystkie dane wynikowe jako jeden lub więcej wyników zestawów.Zestaw wyników jest zbiór wierszy i kolumn, które spełniają kryteria kwerendy.Instrukcji SELECT, funkcje wykazu i niektórych procedur przechowywanych produkują zestaw wyników, udostępniane do aplikacji w formie tabelarycznej.Jeżeli instrukcja SQL wykonane jest procedura składowana, partia zawierających wiele poleceń lub instrukcja SELECT zawierająca słowa kluczowe, takie jak OBLICZYĆ lub OBLICZYĆ przez będzie zestawy wielu wyników procesu.
Funkcje wykazu ODBC można także pobierać dane.Na przykład SQLColumns pobiera dane dotyczące kolumny danych źródło.Te zestawy wyników może zawierać zero lub więcej wierszy.
Inne instrukcje SQL, takie jak dotacji lub REVOKE, nie zwracają zestawów wyników.Dla tych sprawozdań kod powrotu z SQLExecute lub SQLExecDirect jest zazwyczaj jedynym wskazaniem instrukcja zakończyła się pomyślnie.
Każda instrukcja INSERT, UPDATE i DELETE zwraca zestaw wyników zawierający tylko liczbę wierszy dotyczy modyfikacja.Ten licznik jest wykonywane rozmowy dostępne, gdy zastosowanie SQLRowCount.ODBC 3.x aplikacji musi albo wywołanie SQLRowCount do pobrania zestaw wyników lub SQLMoreResults go anulować.Gdy aplikacja wykonuje partia lub procedura składowana, zawierających wiele INSERT, UPDATE lub DELETE oświadczeń, każda instrukcja modyfikacji zestaw wyników muszą być przetwarzane za pomocą SQLRowCount lub anulowane za pomocą SQLMoreResults.Te liczniki, można ją anulować przy tym SET NOCOUNT ON instrukcja w partia lub procedura składowana.
Transact-SQL zawiera instrukcję SET NOCOUNT instrukcja.Gdy opcja instrukcję NOCOUNT jest ustawiona na, SQL Server nie zwraca zlicza wiersze dotyczy instrukcja i SQLRowCount zwraca wartość 0. SQL Server Wersja sterownika ODBC macierzystym klienta wprowadza określonego sterownika SQLGetStmtAttr SQL_SOPT_SS_NOCOUNT_STATUS na czy opcja instrukcję NOCOUNT jest lub wyłączyć opcję.Anytime SQLRowCount zwraca wartość 0, aplikacji należy przetestować SQL_SOPT_SS_NOCOUNT_STATUS.Jeśli SQL_NC_ON zwracana jest wartość 0, z SQLRowCount wskazuje tylko programu SQL Server nie zwrócił liczba wierszy.Jeśli zwracany jest SQL_NC_OFF, oznacza że instrukcję NOCOUNT jest wyłączona, a wartość 0 z SQLRowCount wskazuje, że instrukcja nie dotyczą wszystkich wierszy.Aplikacje nie należy wyświetlić wartość SQLRowCount , gdy SQL_SOPT_SS_NOCOUNT_STATUS jest SQL_NC_OFF.Duże partie lub procedury przechowywane mogą zawierać wielokrotne instrukcje instrukcję SET NOCOUNT tak, aby programiści nie można zakładać SQL_SOPT_SS_NOCOUNT_STATUS pozostaje stała.Opcja powinna być testowana każdego czas SQLRowCount zwraca wartość 0.
Kilka innych instrukcji Transact-SQL zwraca swoje dane w wiadomości zamiast zestawów wyników.Gdy SQL Server sterownik ODBC macierzysty klient odbiera tych wiadomości, zwraca wartość SQL_SUCCESS_WITH_INFO, aby umożliwić aplikacji wiedzieć, że dostępne są komunikaty informacyjne.Aplikacja może wywoływać SQLGetDiagRec do pobierania tych wiadomości. Transact-SQL Instrukcje, które działają w ten sposób są:
DBCC
Ustaw SHOWPLAN (dostępny w starszych wersjach programu SQL Server)
USTAWIANIE STATYSTYK
DRUKUJ
RAISERROR
SQL Server Sterownik ODBC macierzysty klient zwraca wartość SQL_ERROR RAISERROR z ważności 11 lub wyższej.Dotkliwość RAISERROR jest 19 lub wyższym, jest również Porzucono połączenie.
Wynik procesu zestawów z instrukcja języka SQL aplikacji:
Określa właściwości zestaw wyników.
Powiązanie kolumn do zmiennych programu.
Pobiera pojedynczą wartość, cały wiersz wartości lub wielu wierszy wartości.
Badania, aby sprawdzić, czy istnieją więcej zestawów wyników, a jeśli tak, pętle z powrotem do określania cech nowy zestaw wyników.
Proces pobierania wierszy ze źródło danych i zwracanie ich do aplikacji jest nazywany, pobieranie.
Pobieranie obliczeń i zestawach wyników według obliczeń
Klauzula COMPUTE BY generuje sumy cząstkowe zestaw wyników; klauzula obliczeń generuje sumy na końcu zestaw wyników. SQL Server Sterownik ODBC macierzysty klient przedstawia te sumy i sumy pośrednie do aplikacji wywołującej generując wiele zestawów wyników dla każdej instrukcja SELECT.
W poniższym przykładzie użyto COMPUTE BY do generowania sum częściowych i obliczeń do generowania sumy:
SELECT Title = CONVERT(char(20), title), type, price, advance
FROM Titles
WHERE ytd_sales IS NOT NULL
AND type LIKE '%cook%'
ORDER BY type DESC
COMPUTE AVG(price), SUM(advance) BY type
COMPUTE SUM(price), SUM(advance)
Oświadczenia te powodują obliczenia sumy cząstkowej dla średniej ceny i suma zaliczek dla każdej księgi typu i spowodować, że suma końcowa, w którym cena i zaliczki danych.Sterownik stanowi pierwszy zestaw wyników wierszy z książek, posiadające pierwszy typ książki.Następnie produkuje drugi zestaw wyników z dwiema kolumnami COMPUTE BY AVG(price) i SUM(advance) dla pierwszego zestawu książek.A następnie daje trzeciego zestaw wyników dla następnej grupy książek i czwarty zestaw wyników z COMPUTE BY sumy częściowe dla tej grupy.Sterownik przeplata te zestaw wynikóws, dopóki nie produkuje ostatni zestaw wyników z sumy dla obliczenia SUM(price) SUM(advance) klauzula.
W tej sekcji
Zobacz także