Maison base de données tutoriel mysql SQLSERVER中XML查询:FORXML指定AUTO

SQLSERVER中XML查询:FORXML指定AUTO

Jun 07, 2016 pm 04:21 PM
auto sqlserver désignation 查询

SQL SERVER中XML查询:FOR XML指定AUTO前言 在SQL SERVER中,XML查询可以指定RAW,AUTO,EXPLICIT,PATH。本文用一些实例介绍SQL SERVER中指定AUTO的XML查询。 基础示例 片断1: with TestXml as ( select 1 as id,N'LeeWhoeeUniversity' as name union all

SQL SERVER中XML查询:FOR XML指定AUTO  前言

在SQL SERVER中,XML查询可以指定RAW,AUTO,EXPLICIT,PATH。本文用一些实例介绍SQL SERVER中指定AUTO的XML查询。

基础示例

片断1:

with TestXml
as
(
select 1 as id,N'LeeWhoeeUniversity' as name
union all
select 2,N'DePaul'
union all
select 3 ,null
)
select id,name from testxml for xml auto

结果:



用表名做元素名称,,即替代RAW模式中的“row”。

下面看多表的查询(片断2):

with [order]
as
(
select 122 as orderid, 1 as productid,10 as quantity
union all
select 123,1 as productid,100 as quantity
union all
select 124,2,20
union all
select 125,3 ,5
),
product
as
(
select 1 as id,N'LeeWhoeeUniversity' as name
union all
select 2,N'DePaul'
)
select * from product,[order] where [order].productid=product.id for xmlauto

结果:







表名顺序敏感

(见上面查询中粗体部分)

如果把product和order换一下位置,片断3:

with [order]
as
(
select 122 as orderid, 1 as productid,10 as quantity
union all
select 123,1 as productid,100 as quantity
union all
select 124,2,20
union all
select 125,3 ,5
),
product
as
(
select 1 as id,N'LeeWhoeeUniversity' as name
union all
select 2,N'DePaul'
)
select * from [order],product where [order].productid=product.id for xml auto

结果:









当然,AUTO模式同样也可以指定ELEMENTS,BINARY BASE64,同RAW。(SQL SERVER中XML查询:FOR XML指定RAW)

返回的 XML 成形过程中的 AUTO 模式试探方法

AUTO 模式根据查询决定返回的 XML 的形式。 在决定嵌套元素的方式时,AUTO 模式试探方法会比较相邻行中的列值。ntext、text、image 和xml 类型以外的所有类型的列都会进行比较。(n)varchar(max) 和varbinary(max) 类型的列也会进行比较。

上面的第一个指定AUTO的SQL语句(片断2)结果集为:

id name orderid productid quantity
1 LeeWhoeeUniversity 122 1 10
1 LeeWhoeeUniversity 123 1 100
2 DePaul 124 2 20

AUTO 模式试探方法将比较表 product 的所有值(Id 列和 Name 列)。因为前两行的 Id 列和 Name 列具有相同的值,所以向结果中添加了一个具有两个 子元素的 元素。







text类型的特殊

如果把Name 列改为 text 类型。 AUTO 模式试探方法不比较此类型的值, 而是认为这些值不相同。

见下面代码片断4:
declare @order table(orderid int,productid int,quantity int)
declare @product table(id int,name text)
insert into @order
select 122 as orderid, 1 as productid,10 as quantity
union all
select 123,1 as productid,100 as quantity
union all
select 124,2,20
union all
select 125,3 ,5
insert into @product
select 1 ,N'LeeWhoeeUniversity'
union all
select 2,N'DePaul'
select * from @product as product,@order as [order] where [order].productid=product.id for xmlauto

结果:









上面结果中name同为LeeWhoeeUniversity的项被分成两个product。

结果集排序对AUTO试探的影响

再看第一个指定AUTO的SQL语句,但是更改了orderid为使其结果集中相同id和name的项不连在一起:

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment importer un fichier mdf dans sqlserver Comment importer un fichier mdf dans sqlserver Apr 08, 2024 am 11:41 AM

Les étapes d'importation sont les suivantes : Copiez le fichier MDF dans le répertoire de données de SQL Server (généralement C:\Program Files\Microsoft SQL Server\MSSQL\DATA). Dans SQL Server Management Studio (SSMS), ouvrez la base de données et sélectionnez Attacher. Cliquez sur le bouton Ajouter et sélectionnez le fichier MDF. Confirmez le nom de la base de données et cliquez sur le bouton OK.

Comment résoudre le problème selon lequel l'objet nommé existe déjà dans la base de données sqlserver Comment résoudre le problème selon lequel l'objet nommé existe déjà dans la base de données sqlserver Apr 05, 2024 pm 09:42 PM

Pour les objets du même nom qui existent déjà dans la base de données SQL Server, les étapes suivantes doivent être suivies : Confirmez le type d'objet (table, vue, procédure stockée). IF NOT EXISTS peut être utilisé pour ignorer la création si l'objet est vide. Si l'objet contient des données, utilisez un nom différent ou modifiez la structure. Utilisez DROP pour supprimer des objets existants (soyez prudent, sauvegarde recommandée). Vérifiez les modifications de schéma pour vous assurer qu'il n'y a aucune référence à des objets supprimés ou renommés.

Comment vérifier le numéro de port sqlserver Comment vérifier le numéro de port sqlserver Apr 05, 2024 pm 09:57 PM

Pour afficher le numéro de port SQL Server : Ouvrez SSMS et connectez-vous au serveur. Recherchez le nom du serveur dans l'Explorateur d'objets, cliquez dessus avec le bouton droit et sélectionnez Propriétés. Dans l'onglet Connexion, affichez le champ Port TCP.

Que faire si le service sqlserver ne peut pas être démarré Que faire si le service sqlserver ne peut pas être démarré Apr 05, 2024 pm 10:00 PM

Lorsque le service SQL Server ne parvient pas à démarrer, voici quelques étapes à résoudre : Consultez le journal des erreurs pour déterminer la cause première. Assurez-vous que le compte de service est autorisé à démarrer le service. Vérifiez si les services de dépendance sont en cours d'exécution. Désactivez le logiciel antivirus. Réparez l'installation de SQL Server. Si la réparation ne fonctionne pas, réinstallez SQL Server.

Comment récupérer une base de données supprimée accidentellement dans SQLserver Comment récupérer une base de données supprimée accidentellement dans SQLserver Apr 05, 2024 pm 10:39 PM

Si vous supprimez accidentellement une base de données SQL Server, vous pouvez suivre les étapes suivantes pour la récupérer : arrêter l'activité de la base de données ; sauvegarder les fichiers journaux ; vérifier les options de récupération : restaurer à partir d'une sauvegarde ; utiliser DBCC CHECKDB ; outils de fête. Veuillez sauvegarder régulièrement votre base de données et activer la journalisation des transactions pour éviter toute perte de données.

Où est la base de données sqlserver ? Où est la base de données sqlserver ? Apr 05, 2024 pm 08:21 PM

Les fichiers de base de données SQL Server sont généralement stockés à l'emplacement par défaut suivant : Windows : C:\Program Files\Microsoft SQL Server\MSSQL\DATALinux : /var/opt/mssql/data L'emplacement du fichier de base de données peut être personnalisé en modifiant le chemin du fichier de base de données. paramètre.

Comment supprimer sqlserver si l'installation échoue ? Comment supprimer sqlserver si l'installation échoue ? Apr 05, 2024 pm 11:27 PM

Si l'installation de SQL Server échoue, vous pouvez la nettoyer en suivant ces étapes : Désinstaller SQL Server Supprimer les clés de registre Supprimer les fichiers et dossiers Redémarrer l'ordinateur

12306 Comment vérifier l'historique des enregistrements d'achat de billets Comment vérifier l'historique des enregistrements d'achat de billets 12306 Comment vérifier l'historique des enregistrements d'achat de billets Comment vérifier l'historique des enregistrements d'achat de billets Mar 28, 2024 pm 03:11 PM

Téléchargez la dernière version de l'application de réservation de billets 12306. C'est un logiciel d'achat de billets de voyage dont tout le monde est très satisfait. Il est très pratique d'aller où vous voulez. Il existe de nombreuses sources de billets fournies dans le logiciel. -authentification par nom pour acheter des billets en ligne. Tous les utilisateurs Vous pouvez facilement acheter des billets de voyage et des billets d'avion et profiter de différentes réductions. Vous pouvez également commencer à réserver à l'avance pour récupérer des billets. Vous pouvez réserver des hôtels ou des transferts spéciaux en voiture. Grâce à lui, vous pouvez aller où vous voulez et acheter des billets en un seul clic. Voyager est plus simple et plus pratique, ce qui rend l'expérience de voyage de chacun. plus confortable. Désormais, l'éditeur le détaille en ligne. Offre à 12306 utilisateurs un moyen de consulter l'historique des achats de billets. 1. Ouvrez Railway 12306, cliquez sur Mon dans le coin inférieur droit, puis cliquez sur Ma commande. 2. Cliquez sur Payé sur la page de commande. 3. Sur la page payante

See all articles