Exemplos de Stored Procedure SQL Server

Autor : Antonio Carlos Ferreira de Azevedo
Postado em : 23/08/2016


Stored Procedure MS SQL Server

Consulta sem passagem de parâmetro

-- ============================================================
-- Author     : Antonio Azevedo
-- Create date: 22/08/2016
-- Description: Select alunos classificados por nome
-- ============================================================
Create PROCEDURE [dbo].[pcdAluno_Slc]
AS
BEGIN
    
    select a.idaluno, a.nome, a.email, a.dtcadastro, a.valor, 
           c.idcurso, descricao_curso = c.descricao  
    from alunos a 
        inner join cursos c on c.idcurso = a.idcurso 
        order by a.nome
            
END
GO

Consulta com passagem de parâmetro

-- ============================================================
-- Author     : Antonio Azevedo
-- Create date: 22/08/2016
-- Description: Select alunos por ID
-- ============================================================
Create PROCEDURE [dbo].[pcdAluno_SlcID]
@idaluno                INT
AS
BEGIN
    
    select a.idaluno, a.nome, a.email, a.dtcadastro, a.valor, 
           c.idcurso, descricao_curso = c.descricao  
    from alunos a 
        inner join cursos c on c.idcurso = a.idcurso 
        where idaluno = @idaluno
        
END
GO

Insert com retorno do Id Criado

O comando @@IDENTITY executado antes de finalizar a conexão retorna o numero do ultimo id criado.

-- ============================================================
-- Author     : Antonio Azevedo
-- Create date: 22/08/2016
-- Description: Incluir Alunos e retornar o ID no novo registro
-- ============================================================
Create PROCEDURE [dbo].[pcdAluno_Ins]
@idcurso                INT,
@nome                   VARCHAR(100),
@email                  VARCHAR(100), 
@dtcadastro             DATETIME = NULL, 
@valor                  DECIMAL(15,2) = NULL
AS
BEGIN
    
    INSERT INTO alunos (idcurso, nome, email, dtcadastro, valor)
                       VALUES   (@idcurso, @nome, @email,  @dtcadastro, @valor)
    
    SELECT CONVERT(INT,@@IDENTITY) as retorno 
        
END
GO

Update com passagem de parâmetros

-- ===========================================
-- Author     : Antonio Azevedo
-- Create date: 22/08/2016
-- Description: Altera Alunos
-- ===========================================
Create PROCEDURE [dbo].[pcdAluno_Upd]
@idaluno                INT,
@idcurso                INT,
@nome                   VARCHAR(100),
@email                  VARCHAR(100), 
@dtcadastro             DATETIME = NULL, 
@valor                  DECIMAL(15,2) = NULL
AS
BEGIN
    
    UPDATE alunos set idcurso = @idcurso, nome = @nome, email = @email, dtcadastro = @dtcadastro, valor = @valor
    where idaluno = @idaluno    
    
END
GO

Delete com passagem de parâmetros

-- ===========================================
-- Author     : Antonio Azevedo
-- Create date: 22/08/2016
-- Description: Altera Alunos
-- ===========================================
Create PROCEDURE [dbo].[pcdAluno_Del]
@idaluno                INT
AS
BEGIN
    
    DELETE alunos where idaluno = @idaluno  

END
GO





Links Relacionados



Comentários