SQL | Procedimientos en PL/SQL

PL/SQL es un lenguaje estructurado en bloques que permite a los desarrolladores combinar el poder de SQL con declaraciones de procedimiento.
Un procedimiento almacenado en PL/SQL no es más que una serie de declaraciones SQL declarativas que se pueden almacenar en el catálogo de la base de datos. Un procedimiento se puede considerar como una función o un método. Se pueden invocar a través de disparadores, otros procedimientos o aplicaciones en Java, PHP, etc.
Todas las declaraciones de un bloque se pasan al motor de Oracle a la vez, lo que aumenta la velocidad de procesamiento y disminuye el tráfico.

ventajas:

  • Dan como resultado una mejora del rendimiento de la aplicación. Si se llama a un procedimiento con frecuencia en una aplicación en una sola conexión, se entrega la versión compilada del procedimiento.
  • Reducen el tráfico entre la base de datos y la aplicación, ya que las declaraciones largas ya se introducen en la base de datos y no es necesario enviarlas una y otra vez a través de la aplicación.
  • Se suman a la reutilización del código, similar a cómo funcionan las funciones y los métodos en otros lenguajes como C/C++ y Java.

Desventajas:

  • Los procedimientos almacenados pueden causar mucho uso de memoria. El administrador de la base de datos debe decidir un límite superior sobre cuántos procedimientos almacenados son factibles para una aplicación en particular.
  • MySQL no proporciona la funcionalidad de depuración de los procedimientos almacenados.

Sintaxis para crear un procedimiento almacenado

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

-- Comments --

CREATE PROCEDURE procedure_name
  = ,
  = ,
  = 

AS
BEGIN
-- Query --
END

GO

Ejemplo:

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

CREATE PROCEDURE GetStudentDetails
      @StudentID int = 0
AS
BEGIN
      SET NOCOUNT ON;
      SELECT FirstName, LastName, BirthDate, City, Country
      FROM Students WHERE StudentID=@StudentID
END
GO

Sintaxis para modificar un procedimiento almacenado existente

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

-- Comments --

ALTER PROCEDURE procedure_name
  = ,
  = ,
  = 

AS
BEGIN
-- Query --
END

GO

Ejemplo:

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER PROCEDURE GetStudentDetails
      @StudentID int = 0
AS
BEGIN
      SET NOCOUNT ON;
      SELECT FirstName, LastName, City
      FROM Students WHERE StudentID=@StudentID
END
GO

Sintaxis para soltar un procedimiento :

DROP PROCEDURE procedure_name

Ejemplo:

DROP PROCEDURE GetStudentDetails

Este artículo es una contribución de Anannya Uberoi . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.

Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *