Udostępnij za pośrednictwem


DLA klauzula (języka Transact-SQL)

DLA klauzula służy do określania PRZEGLĄDANIA lub opcja XML.PRZEGLĄDANIA i XML są opcje niepowiązanych.

Important noteImportant Note:

Dyrektywa XMLDATA opcji FOR XML została zaniechana.Za pomocą generowania XSD w odniesieniu do trybów RAW i AUTO.W trybie JAWNE jest dyrektywa XMLDATA nie zastępuje.This feature will be removed in a future version of Microsoft SQL Server. Avoid using this feature in new development work, and plan to modify applications that currently use this feature.

Topic link iconKonwencje składni języka Transact-SQL

[ FOR { BROWSE | <XML> } ]
<XML> ::=
XML 
{ 
    { RAW [ ( 'ElementName' ) ] | AUTO } 
    [ 
        <CommonDirectives> 
        [ , { XMLDATA | XMLSCHEMA [ ( 'TargetNameSpaceURI' ) ] } ] 
        [ , ELEMENTS [ XSINIL | ABSENT ] 
    ]
  | EXPLICIT 
    [ 
        <CommonDirectives> 
        [ , XMLDATA ] 
    ]
  | PATH [ ( 'ElementName' ) ] 
    [
        <CommonDirectives> 
        [ , ELEMENTS [ XSINIL | ABSENT ] ]
    ]
} 

<CommonDirectives> ::= 
[ , BINARY BASE64 ]
[ , TYPE ]
[ , ROOT [ ( 'RootName' ) ] ]

Argumenty

  • PRZEGLĄDANIE
    Określa, że podczas wyświetlania danych w kursorze tryb przeglądania biblioteki DB można aktualizacji.Tabela może być przeglądany w aplikacji, jeśli w tabeli znajdują się timestamp Kolumna, w tabeli nie ma indeks unikatowy, a opcja FOR BROWSE znajduje się na końcu instrukcji SELECT, wysłane do wystąpienie SQL Server.

    Uwaga

    Nie można używać <lock_hint> HOLDLOCK w instrukcja SELECT zawierającej opcji FOR BROWSE.

    FOR PRZEGLĄDANIA nie pojawiają się w instrukcji SELECT, które są połączone relacjami UNION operator.

    Uwaga

    Gdy indeks unikatowy kolumn klucz w tabeli są pustych, a tabela znajduje się na wewnętrznej stronie łączyć zewnętrzne, indeks nie jest obsługiwane tryb przeglądania.

    Tryb przeglądania pozwala na skanowanie wierszy w sieci SQL Server Tabela i aktualizacji danych w tabeli sieci jeden wiersz naraz. Aby uzyskać dostęp do SQL Server Tabela w aplikacji tryb przeglądania, należy użyć jednej z następujących dwóch opcji:

    • Instrukcja SELECT, używanego do uzyskiwania dostępu do danych z sieci SQL Server Tabela musi być zakończona słowa kluczowe FOR BROWSE. Po włączeniu FOR BROWSE Opcja do pracy tryb przeglądania, tabele tymczasowe są tworzone.

    • Należy wykonać następujące czynności Transact-SQL instrukcję, aby włączyć tryb przeglądania przy użyciu NO_BROWSETABLE Opcja:

      SET NO_BROWSETABLE ON
      

      Po włączeniu NO_BROWSETABLE Po wybraniu opcji zachowania wszystkich instrukcji SELECT tak, jakby FOR BROWSE Opcja jest dołączany do sprawozdania. Jednak NO_BROWSETABLE Opcja nie powoduje utworzenia tabel tymczasowych, FOR BROWSE dla opcji zwykle używane do wysyłania wyniki do aplikacji.

    Przy próbie dostępu do danych z SQL Server tabele w Wyszukaj tryb za pomocą kwerendy WYBIERAJĄCEJ, która wiąże się z instrukcja SQL łączyć zewnętrzne, a indeks unikatowy zdefiniowane w tabela, która znajduje się na wewnętrznej stronie instrukcja SQL łączyć zewnętrzne, tryb przeglądania nie obsługuje indeks unikatowy. Tryb przeglądania obsługuje indeks unikatowy, tylko wtedy, gdy wszystkie kolumny klucz unikatowego indeksu, może akceptować wartości null.Tryb przeglądania nie obsługuje indeks unikatowy, jeśli są spełnione następujące warunki:

    • Spróbuj uzyskać dostęp do danych z SQL Server tabele tryb przeglądania za pomocą kwerendy WYBIERAJĄCEJ, która wiąże się z instrukcja SQL łączyć zewnętrzne.

    • Indeks unikatowy, jest zdefiniowana w tabela, która znajduje się na wewnętrznej stronie instrukcja SQL łączyć zewnętrzne.

    Aby odtworzyć to zachowanie tryb przeglądania, wykonaj następujące kroki:

    1. W SQL Server Management Studio, utwórz bazę danych o nazwie SampleDB.

    2. W bazie danych SampleDB utworzyć tabela tleft i tabela tright czy zawierają jedną kolumna o nazwie c1.Definiowanie unikatowego indeksu na kolumnie c1 w tabela tleft i Ustaw kolumna, aby zaakceptować wartości null.Aby to zrobić, uruchom następujące Transact-SQL instrukcje w oknie odpowiednie kwerendy:

      CREATE TABLE tleft(c1 INT NULL UNIQUE) ;
      GO 
      CREATE TABLE tright(c1 INT NULL) ;
      GO
      
    3. Wprowadź kilka wartości w tabela tleft i tabela tright.Upewnij się, aby wstawić wartość null w tabela tleft.Aby to zrobić, uruchom następujące Transact-SQL instrukcje w oknie kwerendy:

      INSERT INTO tleft VALUES(2) ;
      INSERT INTO tleft VALUES(NULL) ;
      INSERT INTO tright VALUES(1) ;
      INSERT INTO tright VALUES(3) ;
      INSERT INTO tright VALUES(NULL) ;
      GO
      
    4. Włącz NO_BROWSETABLE Opcja. Aby to zrobić, uruchom następujące Transact-SQL instrukcje w oknie kwerendy:

      SET NO_BROWSETABLE ON ;
      GO
      
    5. Dostęp do danych w tabela tleft oraz tabela tright przy użyciu instrukcja SQL łączyć zewnętrzne kwerendy WYBIERAJĄCEJ.Upewnij się, że tabela tleft znajduje się na wewnętrznej stronie instrukcja łączyć zewnętrzne.Aby to zrobić, uruchom następujące Transact-SQL instrukcje w oknie kwerendy:

      SELECT tleft.c1 
      FROM tleft 
      RIGHT JOIN tright 
      ON tleft.c1 = tright.c1 
      WHERE tright.c1 <> 2 ;
      

      Należy zauważyć następujące dane wyjściowe w okienku wyniki:

      C1

      ----

      WARTOŚCI NULL

      WARTOŚCI NULL

    Po uruchomieniu kwerendy WYBIERAJĄCEJ, aby uzyskać dostęp do tabel tryb przeglądania, zestaw wyników kwerendy WYBIERAJĄCEJ zawiera dwie wartości null dla kolumn c1 w tabela tleft z powodu definicji prawe łączyć zewnętrzne instrukcja.Dlatego zestaw wyników nie rozróżnia wartości null, które pochodzą z tabela, a wartości null po prawej stronie łączyć zewnętrzne instrukcja wprowadzone.Jeśli musi ignorują wartości null z zestaw wyników, może zostać wyświetlony nieprawidłowe wyniki.

    Uwaga

    Jeśli kolumny, które są dołączane do indeks unikatowy nie akceptują wartości null, wszystkie wartości null zestaw wyników zostały wprowadzone w instrukcja prawe łączyć zewnętrzne.

  • XML
    Określa, że wyniki kwerendy są zwracane w postaci dokumentu XML.Należy określić jeden z następujących trybów XML: RAW, AUTO JAWNE. Aby uzyskać więcej informacji na temat danych XML i SQL Server, zobacz Constructing XML Using FOR XML.

  • RAW ("ElementName')
    Trwa wyników kwerendy i przekształca każdy wiersz zestaw w elemencie XML o identyfikatorze rodzajowy wyników <wiersz /> jako tag elementu. Opcjonalnie można określić nazwę elementu wiersza.Uzyskane dane wyjściowe XML używa określonego ElementName jako element wiersz wygenerowanego dla każdego wiersza. Aby uzyskać więcej informacji zobacz Za pomocą trybu RAW i Za pomocą trybu RAW.

  • AUTOMATYCZNE
    Zwraca wyniki kwerendy w prosty i zagnieżdżonych drzewo składni XML.Każda tabela w klauzula FROM, w której znajduje się co najmniej jedną kolumna w klauzula SELECT jest reprezentowana jako XML element.Kolumn wymienionych w klauzula SELECT są mapowane do atrybutów odpowiedni element.Aby uzyskać więcej informacji zobaczW trybie AUTO.

  • JAWNE
    Określa, że kształt wynikowy drzewo składni XML jest jawnie zdefiniowana.W tym trybie, kwerendy musi być napisana w określony sposób, aby uzyskać dodatkowe informacje dotyczące żądanego zagnieżdżanie jest jawnie określony.Aby uzyskać więcej informacji zobaczUsing EXPLICIT Mode.

  • XMLDATA
    Zwraca schematu XDR wbudowany, ale nie dodaje do wyniku elementu głównego.Jeżeli określono XMLDATA, schematu XDR jest dołączany do dokumentu.

  • XMLSCHEMA [ ('TargetNameSpaceURI') ]
    Zwraca wbudowanego schematu XSD.Po określeniu tego dyrektywę, która zwraca wartość określonego obszaru nazw w schemacie, można opcjonalnie określić docelowego obszaru nazw URI.Aby uzyskać więcej informacji zobaczInline XSD Schema Generation.

  • ELEMENTY
    Określa, czy kolumny są zwracane jako podelementy.W przeciwnym razie które są mapowane atrybutów XML.Ta opcja jest obsługiwana tylko tryby RAW, AUTO i ścieżka.Aby uzyskać więcej informacji zobaczZa pomocą trybu RAW.

  • XSINIL
    Określa, że element z xsi: nil ustawić atrybut Wartość true można utworzyć dla wartości NULL kolumna.Ta opcja może być określony tylko z dyrektywą elementów.Aby uzyskać więcej informacji zobaczGenerowanie elementy o wartości NULL przy użyciu parametru XSINIL.

  • NIEOBECNY
    Wskazuje, że dla wartości kolumna wartość null, odpowiadające im elementy XML nie zostaną dodane w wyniku XML.Tę opcję, należy określić tylko w przypadku elementów.

  • ścieżka ("ElementName')
    Generuje <wiersz> Element otoki dla każdego wiersza zestaw wyników. Opcjonalnie można określić nazwę elementu <wiersz> Element otoki. If an empty ciąg is provided, such as FOR XML ścieżka ('') ), a wrapper element is not generated.Za pomocą ścieżka może dostarczyć prostsze alternatywne w stosunku do kwerendy, napisane przy użyciu dyrektywy JAWNE.Aby uzyskać więcej informacji zobaczZa pomocą trybu ścieżka.

  • BINARNE BASE64
    Określa, czy kwerenda zwraca dane binarne w formacie binarnym algorytmem Base64.Kiedy pobierasz dane binarne przy użyciu RAW i trybie jawnych, ta opcja musi być określona.Jest to wartość domyślna w trybie AUTO.

  • TYP
    Określa, czy kwerenda zwraca wyniki, jak XML typu.Aby uzyskać więcej informacji zobaczTYPE Directive in FOR XML Queries.

  • ROOT ("RootName')
    Określa, że jeden element najwyższego poziom można dodać do wynikowego pliku XML.Opcjonalnie można określić nazwy elementu głównego do wygenerowania.Jeżeli nie określono nazwy głównego opcjonalna, domyślnie <katalog główny> element zostanie dodany.

Przykłady

W następującym przykładzie określono FOR XML AUTO z TYPE i XMLSCHEMA Opcje. Z powodu TYPE Po wybraniu opcji zestaw wyników jest zwracany do klient jako XML typu.The XMLSCHEMA option specifies that the inline XSD schema is included in the XML data returned, and the ELEMENTS option specifies that the XML result is element-centric.

See Also

Reference

Other Resources