lørdag den 29. november 2008

XQuery for SQL programmør? Brug af parametre

i dag? S repræsentation i den XQuery for SQL programmør række , vi? Ll drøfte parametre forespørgsler.

En SQL-sætning kan omfatte parameter markører, der angiver vaerdier, at din ansøgning vil angive på gennemførelsestid. Overvej en SQL-sætning henter alle poster med en specifik beskrivelse,

 vælge * 
fra ITEMS
hvor BESKRIVELSE =?

XQuery har begrebet eksterne variabler, og da det er et stærkt skrevet sprog, det gør det muligt at erklære den type af disse eksterne variabler. SQL redegørelse ovenfor henter alle poster med en specifik beskrivelse. Som beskrivelsen er en streng, vi erklærer i den tilsvarende XQuery nedenfor, vores eksterne variable som xs: string.

 erklære variable $ desc som xs: string eksterne; 
for $ element i indsamling ( "poster")/ITEMS
hvor $ post/BESKRIVELSE = $ desc
return $ post

Hvor i SQL, parametrene er primært bruges til at binde atomare værdier, med XQuery en let kan binde et komplet XML-dokument. Dette gør det muligt at kombinere XML-dokumenter med dine data er bosat i en relationel database. Antag at vi har et XML-dokument, der opregner forskellige punkt beskrivelser og vil hente den matchende poster for alle disse beskrivelser. I XQuery dette kan opnås således,

 erklære variable $ doc som dokument-node () eksterne; 
for $ desc i $ doc/beskrivelser/beskrivelse/tekst ()
for $ element i indsamling ( "poster")/ITEMS
hvor $ post/BESKRIVELSE = $ desc
return $ post
Som vi har udtrykkeligt erklærede den variabler i vores forespørgsler ovenfor som eksterne, vil du måske spørge, om der er andre end eksterne variabler? Ja, variabler kan også være angivet som ikke kommer udefra, i hvilket tilfælde erklæringen omfatter en formatering udtryk. Påtage sig en forespørgsel, hvor vi ønsker at hente både de punkter, udstationerede, samt alle de bits fra brugeren med id? U07?. Som vi er nødt til at userid to gange i vores forespørgsel, bruger vi en variabel, der initialisere vores userid kun ?gang, og hvis behov kan ændre det på denne centrale beliggenhed.

 erklære variable $ userid som xs: string: = "U07"; 
for $ element i indsamling ( "poster")/ITEMS
hvor $ post/OFFERED_BY = $ userid
return $ post
,
for $ bud i indsamling ( "bud")/Tilbudene
hvor $ bud/UserID = $ userid
return $ bud

Fra vores SQL-erfaring, vi nu har lært i løbet af de sidste måneder, hvordan man skriver XQuery. Men vent ... Hvorfor ville du gøre det? Hvorfor ikke bor hos gode gamle SQL, snarere end at lære en ny forespørgsel sprog? For sikker på, at vi? Er ikke fortaler for at opgive SQL, men på den anden side er der situationer, hvor XQuery er mere kraftfulde og øge produktiviteten. I vores næste post i XQuery for SQL programmør række Vi? Ll liste en række af de typiske XQuery brug tilfælde.

Tech Tags:

Ingen kommentarer: