Como usar o sql stored procedures

procedimentos armazenados residem no banco de dados no servidor, em vez de executar no cliente - em que todos os procedimentos foram localizados antes SQL / PSM. Depois de definir um procedimento armazenado, você pode chamá-lo com um LIGAR

declaração. Mantendo o procedimento no servidor em vez de no cliente reduz o tráfego de rede, acelerando assim o desempenho. O único tráfego que precisa passar a partir do cliente para o servidor é o LIGAR declaração.

Você pode criar este procedimento da seguinte maneira:

EXEC SQLCREATE PROCESSO ChessMatchScore (INscore CHAR (3), PARA FORA resultar CHAR (10)) BEGIN resultado THENSET ATOMICCASE scoreWHEN `1-0` = `` whitewins -Quando `0-1` THENSET resultar resultado -ELSESET = `blackwins` = ` desenhar` -END CASEEND -

Depois de ter criado um procedimento armazenado como o que neste exemplo, você pode chamá-lo com um LIGAR instrução semelhante à seguinte declaração:

Video: Procedimientos Almacenados o Stored Procedure en SQL Server 2008

CHAMADA ChessMatchScore ( `1-0`,: Resultado) -

O primeiro argumentis um parâmetro de entrada, que é alimentada para o ChessMatchScore procedimento. O segundo argumento é uma variável incorporado que aceita o valor atribuído ao parâmetro de saída que o ChessMatchScore procedimento usa para retornar o resultado para a rotina de chamada. Neste caso, ele retorna ‘vitórias brancas’.

Video: SQL Server 2012 - 28 - Stored Procedure - Tutoriales y mas;

SQL: 2011 adicionou um par de melhorias para procedimentos armazenados. A primeira delas é a introdução de argumentos nomeados.

Aqui é o equivalente da chamada anterior, com argumentos nomeados:



CHAMADA ChessMatchScore (= resultado gt;: Resultado, pontuação = gt; `1-0`) -

Porque os argumentos são nomeados, eles podem ser escritos em qualquer ordem, sem o perigo de que eles sejam confundidos.

A segunda melhoria adicionado no SQL: 2011 é a adição de argumentos de entrada padrão. Você pode especificar um argumento padrão para o parâmetro de entrada. Depois de fazer isso, você não precisa especificar um valor de entrada na LIGAR Instrução- o valor padrão é assumido. (Claro, você iria querer fazer isso somente se o valor padrão eram de fato o valor que você queria enviar para o procedimento.)

Aqui está um exemplo de que o uso:

Video: 11ª Aula Curso Oracle PL/SQL - Procedures / Functions / Cursores

EXEC SQLCREATE PROCESSO ChessMatchScore (INscore CHAR (3) PADRÃO `1-0`, OUT resultar CHAR (10)) BEGIN ATOMICCASE scoreWHEN `1-0` THENSET resultar = `whitewins` -Ao `0-1` THENSET resultar blackwins`= `resultado -ELSESET = `desenhar` -END CASEEND -

Agora você pode chamar este procedimento desta forma com o valor padrão:

Video: Stored procedures in sql server Part 18

CHAMADA ChessMatchScore (: Resultado) -

Claro, você só iria querer fazer isso se o valor padrão era na verdade o valor que você queria enviar para o procedimento.


Publicações relacionadas