prefácio
Da última vez, eu ia organizar todo o conteúdo básico do SQL, mas percebi que o relógio estava girando antes que eu percebesse. Este artigo continua abaixo.
Texto
Primeiro, vamos criar as tabelas de que precisamos
Vamos executar primeiro uma instrução SQL
Esse código subtrai o saldo de 0001 por 1000 e o saldo de 0002 por 1000. Mas adicionamos restrições quando construímos a mesa, e o saldo deve ser maior ou igual a 10.
Os resultados são os seguintes:
Então, este erro de execução de código: "A instrução UPDATE entra em conflito com a restrição CHECK "CH_balance". O conflito ocorre no banco de dados "DemoDb" com a tabela "dbo. Banco", coluna 'saldo'。” 。 Se uma instrução for erro, então se a outra foi executada com sucesso.
Os resultados da consulta são os seguintes:
Veremos que outra instrução SQL não tem erros, mas ainda assim não faz commit com sucesso. Aqui está o que vamos revelar para você.
#Transações
O que é Transação? Estritamente falando, se uma operação satisfaz atomicidade, persistência, isolamento e consistência, então a operação é chamada de transação. Envie transações automaticamente: no SQL Server. Por padrão, toda instrução SQL é uma transação. Mostrar Transações: Cada transação começa explicitamente com a instrução BEGIN TRANSACTION e termina explicitamente com a instrução COMMIT ou ROLLBACK.
A demonstração que mencionamos acima terminou com Rollback, então a execução do SQL não entra em vigor. Os dados não foram modificados com sucesso.
No desenvolvimento e aplicação reais, geralmente configuramos uma camada de transações fora da instrução não-consulta para garantir a integridade e consistência dos dados de acordo com as necessidades reais. Ou faz tudo ou não faz tudo.
Existem duas variáveis do sistema que registram o SQL que está com defeito. - @@rowcount retorna o número de linhas afetadas @@error retorna a codificação errada
Vamos usar essas duas variáveis do sistema para determinar se há um erro no SQL e executar as duas instruções SQL acima.
#Procedimentos armazenados
Ou seja: Encapsule um processo que é realizado (que pode ser complexo) em um nome e então use esse nome para realizar o processo.
> Procedimentos armazenados sem parâmetros
>Procedimentos armazenados com parâmetros
>Procedimento armazenado com valor de retorno
tente capturar no banco de dados
Também existem procedimentos armazenados com parâmetros padrão, que foram mencionados no artigo anterior sobre paginação.
Epílogo
Procedimentos armazenados são mais usados em nossos projetos reais, muitos sistemas antigos, lógica de negócios é escrita em procedimentos armazenados, e as pessoas por trás mantêm isso, e eles simplesmente querem bater a cabeça do cachorro na frente deles em minutos. De modo geral, a lógica de negócios é escrita no código, mas o número de vezes que os dados são lidos do banco de dados, e a lógica de negócio é escrita no processo de armazenamento. No ano passado, uma sequência muito complexa de lógica de negócios no projeto da empresa foi transferida para o processo de armazenamento, o que aumentou a velocidade dezenas de vezes. Claro, circunstâncias especiais são tratadas de forma especial. A aplicação específica depende do cenário real.
(Nota: O conteúdo acima é a anotação de estudo do ano, se houver algo inadequado, por favor, corrija!) )
|