Informática, Bases de datos
SQL almacenado procedementos: crear e usar
SQL procedementos almacenados son módulo de software executable que pode ser almacenado no banco de datos en forma de varios obxectos. Noutras palabras, é un obxecto que contén SQL-afirmación. Estes procedementos almacenados poden ser executados na aplicación cliente para obter un bo rendemento. Ademais, estas instalacións son frecuentemente chamados dende outros scripts ou mesmo de calquera outra sección.
introdución
Moitas persoas cren que son semellantes aos procedementos das distintas linguaxes de programación de alto nivel (respectivamente, excepto para MS SQL). Quizais isto sexa verdade. Teñen parámetros semellantes, poden emitir un valor semellante. Ademais, nalgúns casos, eles entran en contacto. Por exemplo, son combinados coas bases de datos de DDL e os datos DML, así como funcións de usuario (nome de código - UDF).
procedementos SQL realmente almacenados teñen unha ampla gama de vantaxes que os distinguen entre tales procesos. Seguridade, produtividade programación variabilidade - todo isto atrae os usuarios que traballan con bases de datos, máis e máis. O pico de popularidade chegou procedementos para os anos de 2005-2010, cando recibín o programa a partir da "Microsoft" baixo o nome «SQL Server Management Studio». Coa súa axuda, o traballo con bases de datos converteuse en moito máis fácil, máis práctico e máis cómodo. Ano tras ano, este método de transmisión de información gañou popularidade no ámbito de programación. Hoxe, MS SQL Server é un programa absolutamente habitual, o que para os usuarios a "comunicar" con bases de datos, quedou a par "Excel".
Cando chamar o procedemento, é inmediatamente procesada polo servidor sen procesos innecesarios e intervención do usuario. Pode entón executar calquera acción coa información: eliminación, execución, cambio. Por riba de todo isto está en DDL-operador, que, só, executar accións complexas sobre estes obxectos. E todo pasa moi rápido, eo servidor non realmente cargado. Esta velocidade e produtividade permite transferir rapidamente grandes cantidades de información do usuario para o servidor versa e vice.
Para aplicar este traballo coa información, existen varias tecnoloxías de linguaxes de programación. Estes inclúen, por exemplo, PL / SQL a partir do sistema de xestión de base de datos Oracle, PSQL no InterBase e sistemas de Firebird, así como o clásico "maykrosoftovskih» Transact-SQL. Todos eles están deseñados para crear e executar procedementos almacenados, permitindo que use os seus propios algoritmos nun gran manipuladores de base de datos. É necesario e para garantir que aqueles que realizan a xestión de tales información, pode protexer todos os obxectos de terceiros non autorizados, e polo tanto, a creación, modificación ou supresión de determinados datos.
produtividade
Estes obxectos de base de datos poden ser programados de xeitos diferentes. Isto permite aos usuarios seleccionar o tipo de proceso que sería máis apropiado, o que aforrar tempo e enerxía. Ademais, o propio procedemento é procesado, evitando así enorme tempo gastado na comunicación entre o servidor eo usuario. O módulo pode ser reprogramado e cambiou na dirección correcta en absolutamente calquera momento. Especialmente digno de nota a velocidade con que o lanzamento do procedemento almacenado SQL ocorre: o proceso é máis rápido outro semellante a el, tornándose un cómodo e versátil.
seguridade
Este tipo de procesamento de información difire procesos semellantes en que ofrece seguridade reforzada. Isto é asegurado polo feito de que outros usuarios de procedementos que acceden pode ser eliminada por completo. Isto permitirá que o administrador para realizar operacións con eles de forma independente, sen medo de interceptación ou acceso non autorizado á base de datos.
transferencia de datos
A comunicación entre un procedemento SQL almacenado e a aplicación cliente é usar os parámetros e valores de retorno. Este último non é necesario para transmitir os datos a un procedemento almacenado, mais a información (sobre todo a petición do usuario), e procesados para SQL. procedemento xa almacenado completou o seu traballo, envía os paquetes de datos de volta (pero, de novo, se desexado) para a aplicación de chamadas usando unha variedade de métodos polos que pode ser aplicada como unha chamada a un procedemento almacenado SQL e regreso, por exemplo:
- transmisión de datos a través de tipo de parámetro de saída;
- transmisión de datos a través de instrución de retorno;
- a transmisión de datos a través da selección do transportista.
E agora ollar como este proceso ten o mesmo aspecto dentro.
1. Crear exec-gardados no procedemento SQL
Pode crear un procedemento no MS SQL (Managment Studio). Tras o procedemento é creada, está rexistrado na base de datos dun nó programable, en que o procedemento se realiza polo operador de creación. Para realizar procedementos almacenados SQL utilizando exec un proceso que contén o nome do obxecto.
Ao crear o nome vén primeiro procedemento, e logo fixo un ou máis parámetros que son asignados a el. Os parámetros poden ser opcionais. Tras o parámetro (s), é dicir, o corpo do proceso, sendo escrita, é necesario realizar algunhas operacións necesarias.
O feito de que o corpo pode ter variables locais, situadas na mesma, e estas variables son locais e en relación aos procedementos. Noutras palabras, poden ser considerados só dentro dos tratamentos corporais Microsoft SQL Server. procedementos almacenados neste caso son considerados local.
Así, para crear un proceso, necesitamos un nome de procedemento e polo menos un parámetro como un corpo procedemento. Teña en conta que unha excelente opción neste caso é a creación e posta en marcha de procedementos con un nome de esquema no clasificador.
O corpo do procedemento pode ter ningún tipo de operadores SQL, por exemplo, como a creación dunha táboa, a inserción dun ou máis liñas da táboa, establecendo o tipo de base de datos e carácter, e así por diante. Con todo, o corpo do procedemento restrinxe algunhas operacións nel. Algunhas das limitacións máis importantes están listados abaixo:
- o corpo non crea ningún outro procedemento almacenado;
- o corpo non debe crear unha falsa impresión sobre o obxecto;
- o corpo non crea ningún gatillo.
2. Pon a variable no corpo do procedemento
Podes facer variables local para o procedemento do corpo, e entón eles van estar dentro dun corpo do procedemento. Unha boa práctica é crear unha variable no inicio do corpo procedemento almacenado. Pero tamén pode definir variables de calquera parte do corpo do obxecto.
Ás veces, pode entender que algunhas variables defínense na mesma liña, e cada variable separadas por comas. Teña en conta que a variable é prefixado con @. No corpo do procedemento, pode definir unha variable para o que quere. Por exemplo, unha variable @ NAME1 pode ser anunciada no sentido da extremidade do corpo do procedemento. Para asignar un valor a unha variable declarada mediante un conxunto de datos persoais. En contraste coa situación cando máis dunha variable declarada na mesma liña, só un conxunto de datos persoais utilizados nesta situación.
Os usuarios moitas veces a pregunta: "Como asignar varios valores nunha única instrución no corpo do procedemento 'Ben ?. pregunta interesante, pero iso é moito máis fácil do que pensa. A resposta: coa axuda de tales pares como «Select Var = valor". Podes usar estes pares, separados por comas.
3. Crear un procedemento almacenado SQL
En unha gran variedade de exemplos de persoas mostran a creación dun procedemento almacenado simple e executalo. Con todo, o procedemento pode levar eses parámetros que o proceso de chamada que terá un valor próximo a el (pero non sempre). Se foren iguais, logo inicia os procesos correspondentes no interior do corpo. Por exemplo, se crear un procedemento que vai tomar a cidade e rexión do interlocutor e voltar os datos sobre o que os autores refírense á cidade e rexión correspondente. O procedemento pode consultar unha táboa de base de datos dos autores, por exemplo, Pubs, para realizar esta autores de cálculo. Para eses bancos de datos, por exemplo, Google fai a descarga do script SQL coa páxina SQL2005.
No exemplo anterior, o procedemento leva dous parámetros, que en inglés sería chamado condicional @State e @City. O tipo de datos corresponde ao tipo especificado na solicitude. O corpo procedemento ten variables internas @TotalAuthors (todos os autores), e esta variable é utilizada para presentar o seu número. A continuación, vén unha proposta selección sección que todos os cargos. Por último, o valor calculado aparece na xanela de saída a usar a instrución de impresión.
Como realizar un procedemento almacenado SQL
Hai dous xeitos de realizar o procedemento. A primeira forma é mostrada pasando por parámetros como unha lista separada por comas faise despois do nome do procedemento. Supoñamos que temos dous valores (como no exemplo anterior). Estes valores son recollidas mediante variables e procedemento @State @City. Neste método, os parámetros importantes da orde de transmisión. Este método é chamado a secuencia de transmisión de argumentos. No segundo método, os parámetros xa son asignados directamente, caso en que a orde non é importante. Este segundo método é coñecido como a transmisión de argumentos nomeados.
O procedemento pode desviar-se lixeiramente o típico. Ao mesmo tempo, como no exemplo anterior, pero os parámetros son desprazados só aquí. Isto é parámetro @City almacénase en primeiro lugar, e @State almacenados xunto ao valor predeterminado. A configuración por defecto adoita alocada separado. SQL procedementos almacenados son parámetros como simple. Neste caso, sempre que a opción "a UT 'substitúe o valor por defecto de" ca ". Nunha segunda forma de realización pasa só un valor argumento para @City, e normas de opción @State para "ca". Os programadores expertos son avisados de que todas as variables estándar están localizados máis preto do final da lista de parámetros. En caso contrario, a execución non funciona, entón tes que traballar coa transferencia de argumentos nomeados que o máis longo e máis complicado.
4. procedementos almacenados SQL Server: formas de devolver
Existen tres formas principais para enviar datos almacenados no procedemento chamado. Eles están listados abaixo:
- valores de retorno procedemento almacenado;
- parámetro de saída de procedementos almacenados,
- Escolla un dos procedementos almacenados.
4.1 Valores de regreso de SQL procedementos almacenados
Neste procedemento, o procedemento define o valor da variable local e devolve-lo. O procedemento tamén pode devolver directamente un valor constante. No exemplo a seguir, creamos un procedemento que devolve o número total de patrocinadores. Se compararmos iso co procedemento anterior, podes ver que o valor de impresión substitúese polo contrario.
Agora imos ollar para a forma de realizar o procedemento e amosar o valor, devolve-lo. de realizar os procedementos necesarios para establecer e impresión variable, que se realiza despois do proceso. Teña en conta que en vez de imprimir o operador pode usar o select-operador, por exemplo, SELECT @RetValue e OutputValue.
4.2 procedementos Output Parameter SQL almacenados
O valor de resposta pode ser usado para volver unha única variable que vimos no exemplo anterior. Usando a saída permite que o procedemento para enviar unha ou máis variables para o chamador. parámetro de saída é denotado como o tempo esta contrasinal «saída» ao crear procedemento. Se o parámetro se especifica como un parámetro de saída, o obxecto procedemento debe asignar-lle un valor. Almacenados SQL procedementos, cuxos exemplos pódese ver a continuación, en tal caso, volvendo para a información final.
Neste exemplo, non haberá nome dous fins de semana: @TotalAuthors e @TotalNoContract. Son indicados na lista de parámetros. Estas variables son valores asignados dentro do corpo do procedemento. Cando usamos os parámetros de saída, o chamador pode ver o valor definido no corpo do procedemento.
Ademais, no escenario anterior, dúas variables son declaradas para ver os valores que están instalados procedementos almacenados, MS SQL Server como un parámetro de saída. A continuación, o procedemento se realiza a través da aplicación do valor normal «CA» parámetro. Os seguintes parámetros de saída e, por conseguinte, declarado variables pásase na forma prescrita. Por favor, teña en conta que cando a palabra chave de saída variable tamén especificar aquí. Tras o procedemento é completado con éxito, o valor de retorno a usar os parámetros de saída aparecen no diálogo de mensaxe.
4.3 Selección dun SQL procedementos almacenados
Esta técnica é utilizada para devolver un conxunto de datos na táboa de valores de forma (conxunto de rexistros) para chamar un procedemento almacenado. Neste exemplo, o SQL procedemento almacenado con parámetros @AuthID solicita táboa "autores", filtrando os rexistros obtidos por este parámetro @AuthId. Escolla un operador decide o que debe ser devolto ao chamar un procedemento almacenado. Cando un procedemento almacenado AUTHID transmitido de volta. Tal procedemento é sempre retorna só un rexistro ou mesmo ningún. Con todo, o procedemento almacenado non ten calquera restricións sobre o retorno de máis dunha entrada. Moitas veces, se pode atopar exemplos en que os datos de retorno seleccionados utilizando os parámetros coas variables calculadas faise proporcionando unha pluralidade de valores totais.
en conclusión
Un procedemento almacenado é un programa moi serio, devolto ou transferida, así como establecer as variables necesarias debido á aplicación cliente. Unha vez que o procedemento almacenado execútase no servidor, o intercambio de datos en grandes volumes entre o servidor eo aplicación cliente (para algúns cálculos) poden evitar. Isto fai posible para reducir a carga sobre o servidor SQL, o que, por suposto, é a man de seus titulares. Unha das subespecies son procedementos almacenados T SQL, pero o seu estudo é necesario para aqueles que están implicados na creación dunha base de datos impresionante. Hai tamén unha grande, mesmo enorme cantidade de matices que poden ser útiles no estudo de procedementos almacenados, con todo, esta necesidade para aqueles que están a planear para facer a programación axustado, incluíndo profesional.
Similar articles
Trending Now