OrdinadorsBases de dades

Procediments emmagatzemats de SQL: creació i ús

procediments emmagatzemats de SQL són mòdul de programari executable que pot ser emmagatzemada en la base de dades en forma de diversos objectes. En altres paraules, és un objecte que conté sentència-SQL. Aquests procediments emmagatzemats es poden executar en l'aplicació client per obtenir un bon rendiment. A més, aquest tipus d'instal·lacions són sovint anomenats d'altres guions o fins i tot de qualsevol altra secció.

introducció

Moltes persones creuen que són similars als procediments dels diversos llenguatges de programació d'alt nivell (respectivament, excepte per a MS SQL). Potser això és cert. Ells tenen paràmetres similars, que poden emetre un valor similar. D'altra banda, en alguns casos, entren en contacte. Per exemple, es combinen amb les bases de dades de DDL i les dades DML, així com funcions d'usuari (nom de codi - UDF).

procediments SQL emmagatzemats en realitat tenen una àmplia gamma d'avantatges que els distingeixen entre aquests processos. La seguretat, la variabilitat de la productivitat de programació - tot això atrau els usuaris que treballen amb bases de dades, cada vegada més. El pic de popularitat va arribar procediments per als anys 2005-2010, quan vaig arribar el programa des del "Microsoft" sota el nom de «SQL Server Management Studio». Amb la seva ajuda, el treball amb bases de dades s'ha tornat molt més fàcil, més pràctic i més convenient. Any rere any, aquest mètode de transmissió de la informació es va fer popular a l'entorn de programació. Avui en dia, MS SQL Server és un programa absolutament habitual, que els usuaris puguin "comunicar-se" amb bases de dades, es va posar a l'una amb "Excel".

Quan es diu al procediment, es forma instantània processada pel servidor sense necessitat de processos innecessaris i la intervenció de l'usuari. A continuació, pot realitzar qualsevol acció amb la informació: l'eliminació, l'execució, el canvi. Per sobre de tot això està en el DDL-operador, que per si sol realitzar accions complexes en aquests objectes. I tot passa molt ràpidament, i el servidor no carrega realment. Aquesta velocitat i la productivitat permeten transferir ràpidament grans quantitats d'informació per part de l'usuari al servidor i viceversa.

Per dur a terme aquest treball amb la informació, hi ha diverses tecnologies de llenguatges de programació. Aquests inclouen, per exemple, PL / SQL des del sistema de gestió de base de dades Oracle, PSQL en InterBase i Firebird sistemes, així com el clàssic "maykrosoftovskih» Transact-SQL. Tots ells estan dissenyats per crear i executar procediments emmagatzemats, el que permet utilitzar els seus propis algoritmes en un gran controladors de bases de dades. Cal i per assegurar que aquells que duen a terme la gestió d'aquesta informació, pot protegir tots els objectes de tercers no autoritzats i, per tant, la creació, modificació o supressió de certes dades.

productivitat

Aquests objectes de bases de dades es poden programar de diferents maneres. Això permet als usuaris seleccionar el tipus de procés que seria més apropiat, el que estalvia temps i energia. A més, el procediment en si es processa, evitant així el temps d'enorme gastat en la comunicació entre el servidor i l'usuari. El mòdul pot ser reprogramat i es va canviar en la direcció correcta en absolutament qualsevol moment. Especialment cal destacar la rapidesa amb que la posada en marxa del procediment emmagatzemat de SQL es produeix: el procés és més ràpid una altra similar a ella, per la qual cosa és un còmode i versàtil.

seguretat

Aquest tipus de tractament de la informació difereix de processos similars en que proporciona una major seguretat. Això es garanteix pel fet que altres usuaris dels procediments d'accés poden ser eliminats per complet. Això permetrà que l'administrador per realitzar operacions amb ells de forma independent, sense por a la intercepció o accés no autoritzat a la base de dades.

transferència de dades

La comunicació entre un procediment emmagatzemat de SQL i l'aplicació client és utilitzar els paràmetres i valors de retorn. Aquest últim no cal transmetre les dades a un procediment emmagatzemat, però la informació (principalment en la petició de l'usuari), i es processa per SQL. procediment Un cop emmagatzemats ha completat la seva feina, envia els paquets de dades cap enrere (però, de nou, si es desitja) a l'aplicació que crida utilitzant una varietat de mètodes pels quals poden ser implementats com una crida a un procediment SQL emmagatzemat i de retorn, per exemple:

- transmissió de dades a través d'tipus de paràmetre de sortida;

- la transmissió de dades a través de la instrucció de retorn;

- Transmissió de dades a través de la selecció de l'operador.

I ara mira com aquest procés té el mateix aspecte a l'interior.

1. Crear EXEC-emmagatzemada en el procediment SQL

Podeu crear un procediment en el MS SQL (Gestió Estudi). Un cop creat el procediment, apareix en un node de base de dades programable, en el qual el procediment es realitza per l'operador de la creació. Per executar procediments emmagatzemats SQL utilitzant EXEC-un procés que conté el nom de l'objecte.

En crear el nom prové primer procediment, i després va fer un o més paràmetres que estan assignats a ell. Els paràmetres poden ser opcionals. Després que el paràmetre (s), és a dir, el cos del procediment, a ser escrit, cal dur a terme algunes operacions necessàries.

El fet que el cos pot tenir variables locals, que es troba en ella, i aquestes variables són locals i en relació amb els procediments. En altres paraules, poden ser considerats només dins dels tractaments corporals Microsoft SQL Server. Els procediments emmagatzemats en aquest cas es consideren locals.

Per tant, per crear un procés, necessitem un nom de procediment i d'almenys un paràmetre com un cos de procediment. Recordeu que l'elecció ideal en aquest cas és la creació i implementació de procediments amb un nom d'esquema en el classificador.

El cos del procediment pot tenir qualsevol tipus d'operadors SQL, per exemple, com la creació d'una taula, la inserció d'una o més files de la taula, establint el tipus de base de dades i el caràcter, i així successivament. No obstant això, el cos del procediment restringeix algunes operacions en el mateix. Algunes de les limitacions més importants s'enumeren a continuació:

- el cos no crea cap altre procediment emmagatzemat;

- el cos no ha de crear una falsa impressió sobre l'objecte;

- el cos no crea cap activador.

2. Establir la variable en el cos del procediment

Pot prendre les variables locals amb el procediment del cos, i llavors van a estar dins d'un cos de procediment. Una bona pràctica és crear una variable al principi del cos del procediment emmagatzemat. Però també es pot establir variables en qualsevol part del cos de l'objecte.

De vegades es pot notar que algunes variables s'estableixen en la mateixa fila, i cada variable separats per una coma. També tingui en compte que la variable té el prefix @. En el cos del procediment, es pot establir una variable a la que desitja. Per exemple, una variable @ nom1 pot ser anunciat cap al final del cos del procediment. Per tal d'assignar un valor a una variable declarada mitjançant un conjunt de dades de caràcter personal. En contrast amb la situació en què més d'una variable declarada en la mateixa fila, només un conjunt de dades de caràcter personal utilitzada en aquesta situació.

Els usuaris sovint fan la pregunta: "Com assignar múltiples valors en una sola declaració en el cos del procediment 'Bé ?. Una pregunta interessant, però això és molt més fàcil del que pensa. La resposta: amb l'ajuda de tals parells com «Seleccionar Var = valor". Podeu utilitzar aquests parells, separats per comes.

3. Crear un procediment emmagatzemat de SQL

En una àmplia varietat d'exemples de persones que mostren la creació d'un procediment emmagatzemat simple i executar-lo. No obstant això, el procediment pot portar aquests paràmetres que el procés de trucada que tindrà un valor proper a ell (però no sempre). Si coincideixen, a continuació, inicia els processos corresponents dins del cos. Per exemple, si feu un procediment que es portarà a la ciutat i la regió de la persona que truca i retornar les dades sobre la quantitat dels autors es refereixen a la ciutat i la regió corresponent. El procediment es consulta una taula de base de dades dels autors, per exemple, bars, per a la realització d'aquest càlcul autors. Per obtenir aquestes bases de dades, per exemple, el Google descarrega el script SQL amb la pàgina SQL2005.

En l'exemple anterior, el procediment pren dos paràmetres, que en anglès serien anomenats condicionalment @State i @City. El tipus de dades es correspon amb el tipus especificat en l'aplicació. El cos del procediment té variables internes @TotalAuthors (tots els autors), i aquesta variable s'utilitza per mostrar el número. A continuació ve una sol·licitud de selecció de secció que tots els càrrecs. Finalment, el valor calculat es visualitza a la finestra de resultats mitjançant la instrucció d'impressió.

Com realitzar un procediment emmagatzemat de SQL

Hi ha dues formes de realitzar el procediment. La primera forma es mostra pel pas de paràmetres com una llista separada per comes es realitza després que el nom de procediment. Suposem que tenim dos valors (com en l'exemple anterior). Aquests valors es van recollir usant variables i procediment @State @City. En aquest mètode, els paràmetres importants de l'ordre de transmissió. Aquest mètode es diu la seqüència de transmissió d'arguments. En el segon mètode, els paràmetres ja estan assignats directament, en aquest cas l'ordre no és important. Aquest segon mètode es coneix com la transmissió d'arguments amb nom.

El procediment pot desviar-se lleugerament de la típica. De totes maneres, com en l'exemple anterior, però els paràmetres es desplacen aquí només. És a dir @City paràmetre s'emmagatzema primer, i @State emmagatzema al costat del valor predeterminat. La configuració per defecte és generalment assignat per separat. procediments emmagatzemats SQL són paràmetres simples. En aquest cas, sempre que l'opció "UT 'substitueix el valor predeterminat de" CA ". En una segona realització passa només un valor argument per @City, i l'opció per defecte @State a "CA". S'aconsella als programadors experimentats que totes les variables predeterminades es troben més a prop del final de la llista de paràmetres. En cas contrari, l'execució no és possible, llavors vostè ha de treballar amb la transferència d'arguments amb nom que el més llarg i complicat.

4. Procediments emmagatzemats de SQL Server: maneres de retornar

Hi ha tres formes principals per enviar les dades emmagatzemades en el procediment anomenat. S'enumeren a continuació:

- valors de retorn de procediment emmagatzemat;

- procediments emmagatzemats paràmetre de sortida;

- Seleccionar un dels procediments emmagatzemats.

4.1 Els valors de retorn de procediments emmagatzemats de SQL

En aquest procediment, el procediment estableix el valor de la variable local i el torna. El procediment també pot tornar directament un valor constant. En el següent exemple, hem creat un procediment que retorna el nombre total de patrocinadors. Si comparem això amb el procediment anterior, es pot veure que el valor d'impressió se substitueix pel revers.

Ara anem a veure com dur a terme el procediment i mostrar el valor, tornar-lo. aplicar procediments necessaris per a establir i impressió variable, que es porta a terme després del procés. Tingueu en compte que en lloc d'imprimir l'operador pot utilitzar el Select-operador, per exemple, Seleccionar @RetValue i OutputValue.

4.2 procediments emmagatzemats paràmetre de sortida SQL

El valor de resposta es pot utilitzar per retornar una única variable que hem vist en l'exemple anterior. Ús de la sortida permet que el procediment per a enviar una o més variables a la part truca. paràmetre de sortida es denota com el temps aquesta paraula clau «sortida» en crear procediment. Si s'especifica el paràmetre com un paràmetre de sortida, el procediment objecte ha d'assignar un valor. Els procediments emmagatzemats SQL, exemples dels quals es pot veure a continuació, en aquest cas de tornar a la informació final.

En aquest exemple, hi haurà dos caps de setmana Nom: @TotalAuthors i @TotalNoContract. S'especifiquen a la llista de paràmetres. Aquestes variables s'assignen valors dins el cos del procediment. Quan s'utilitzen els paràmetres de sortida, la persona que truca pot veure el valor establert en el cos del procediment.

A més, en l'escenari anterior, dues variables es declaren per veure els valors que s'instal·len procediments emmagatzemats, MS SQL Server com un paràmetre de sortida. A continuació, el procediment es realitza mitjançant l'aplicació del valor normal «CA» paràmetre. Els següents paràmetres són de sortida i, per tant, van declarar variables es passen en la forma prescrita. Recordeu que quan s'especifica també una paraula clau variable de sortida aquí. Després que el procediment s'ha completat amb èxit, el valor retornat per l'ús dels paràmetres de sortida es mostren a la finestra de missatges.

4.3 Selecció d'un procediments emmagatzemats de SQL

Aquesta tècnica s'utilitza per tornar un conjunt dels valors de dades forma de taula (recordset) per trucar a un procediment emmagatzemat. En aquest exemple, SQL procediment emmagatzemat amb paràmetres @AuthID peticions "autors" de taula mitjançant el filtrat dels registres retornats per aquest paràmetre @AuthId. Seleccioneu l'operador decideix què ha de ser retornada al trucar a un procediment emmagatzemat. Quan un procediment emmagatzemat AUTHID transmet de tornada. Tal procediment és sempre torna només un registre o cap en absolut. No obstant això, el procediment emmagatzemat no té cap restricció sobre el retorn de més d'una entrada. Sovint es poden trobar exemples en què les dades de retorn seleccionats utilitzant els paràmetres amb les variables calculades es fa proporcionant una pluralitat de valors totals.

en conclusió

Un procediment emmagatzemat és un programa bastant seriós, retornats o transferits, així com establir les variables necessàries a causa de l'aplicació client. Ja que el procediment emmagatzemat s'executa en el propi servidor, l'intercanvi de dades en grans volums entre el servidor i l'aplicació client (per a alguns càlculs) pot ser evitat. Això fa que sigui possible reduir la càrrega al servidor SQL, que, per descomptat, és la mà dels seus propietaris. Una de les subespècies són procediments emmagatzemats SQL T, però es necessita el seu estudi als que participen en la creació d'una base de dades impressionant. També hi ha una gran quantitat fins i tot grans, de matisos que poden ser útils en l'estudi dels procediments emmagatzemats, però, aquesta necessitat per a aquells que estan planejant fer la programació atapeïda, incloent professionalment.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 ca.delachieve.com. Theme powered by WordPress.