CARRERA PROFESIONAL DE : Ingeniería de Sistemas y
Telemática
ASIGNATURA : Laboratorio
de programación III
ESTUDIANTE :
ü CHUQUIZUTA
RAMOS, Marleni
ü HERRERA
SILVA, Carlos Jhonatan
CICLO : VII
GRUPO : “A”
I.
Tema: Procedimientos Almacenados
1. Contenido
a.
Definición
Los procedimientos almacenados
pueden recibir y devolver información; para ello se emplean parámetros, de
entrada y salida, respectivamente.
Conjunto de comandos que
pueden ser ejecutados directamente en el servidor, es decir, será ejecutado por
el servidor de Base de Datos y no por el programa cliente que lo accede,
permitiendo la ejecución de una acción o conjunto de acciones específicas.
Elementos
de los procedimientos almacenados
Los procedimientos almacenados
están compuestos por algunos de estos elementos:
ü Parámetros
de entrada (pueden esperar parámetros)
ü Parámetros
de salida (pueden devolver resultados)
ü Declaración
de variables (puede usarse variables en su cuerpo)
ü Cuerpo
del procedimiento (en su cuerpo se indican las acciones a realizar)
Tanto los parámetros de
entrada como los de salida son opcionales. Podemos tener un procedimiento que
no tenga parámetros de entrada, pero sí de salida y viceversa. Como todo buen
programador sabe, los parámetros de entrada sirven para pasarle datos al
procedimiento que necesita para llevar a cabo una acción determinada. Los
parámetros de salida devuelven al programa cliente que ejecutó el procedimiento
el resultado del mismo.
b.
Sintaxis
CREATE PROCEDURE
<nombre_procedure>
[@param1 <tipo>, ...]
AS
-- Sentencias del procedure
Para modificar un
procedimiento almacenado debemos emplear la sentencia ALTER PROCEDURE.
ALTER PROCEDURE <nombre_procedure>
[@param1 <tipo>, ...]
AS
-- Sentencias del procedure
El siguiente ejemplo muestra
un procedimiento almacenado, llamado spu_addCliente que añade clientes, o sea,
inserta un registro en la tabla ‘Clientes’:
CREATE PROCEDURE spu_addCliente
@nombre
VARCHAR(100),
@apellidos
VARCHAR(100),
@f_Naciento
datetime,
@email
VARCHAR(50)
AS
INSERT
INTO CLIENTES (nombre, apellidos, f_nacimiento, email)
VALUES (@nombre, @apellidos, @f_naciento,
@email)
c.
Administración de Procedimientos Almacenados
v CREACION
Para crear una vista ejecute
la instrucción siguiente para crear una vista muy sencilla que ejecuta una
instrucción SELECT y devuelve los nombres y los precios de nuestros productos
al usuario.
CREATE VIEW vw_Names
AS
SELECT ProductName, Price FROM Products;
GO
v MODIFICACION
Si se modifican los datos de
una vista, se modifica la tabla base.
Se puede insertar, actualizar
o eliminar datos de una tabla a través de una vista, teniendo en cuenta lo
siguiente, las modificaciones que se realizan a las vistas:
Ø no
pueden afectar a más de una tabla consultada. Pueden modificarse datos de una
vista que combina varias tablas pero la modificación solamente debe afectar a
una sola tabla.
Ø No se
pueden cambiar los campos resultados de un cálculo.
Ø Pueden
generar errores si afectan a campos a las que la vista no hace referencia. Por
ejemplo, si se ingresa un registro en una vista que consulta una tabla que
tiene campos not null que no están incluidos en la vista.
Ø La
opción "with check option" obliga a todas las instrucciones de
modificación que se ejecutan en la vista a cumplir ciertos criterios que se
especifican al definir la vista.
ALTER VIEW nombrevista
AS
SELECT FirstName, LastName,
HireDate
FROM Employee
WHERE FirstName =’Maria’
GO
v ELIMINACION
Después de crear una vista,
puede eliminarla si no la necesita o si desea borrar la definición de la vista
y los permisos asociados. Cuando se elimina una vista, las tablas y los datos
en los que está basada no se ven afectados.
DROP VIEW [ schema_name . ]
view_name [ ...,n ] [ ; ]
schema_name
Es el nombre del esquema al
que pertenece la vista.
view_name
Es el nombre de la vista que
se va a quitar.
d.
Ejemplos
USE AdventureWorks2012;
GO
CREATE PROCEDURE
HumanResources.uspGetEmployeesTest2
@LastName nvarchar(50),
@FirstName nvarchar(50)
AS
SET NOCOUNT ON;
SELECT FirstName, LastName, Department
FROM
HumanResources.vEmployeeDepartmentHistory
WHERE FirstName = @FirstName AND LastName =
@LastName
AND EndDate IS NULL;
GO
ALTER PROCEDURE [dbo].[Insertar_Inventario]
--Parámetros de entrada
@Descripcion CHAR(15) = '',
@No_inv CHAR(15),
@Marca CHAR(15),
@Modelo CHAR(15),
@No_serie CHAR(15),
@Puesto CHAR(3),
@id INT = 0
AS
BEGIN
SET NOCOUNT ON;
-- Sentencia del procedimiento
INSERT INTO Inventario (id, Descripcion,
No_inventario, Marca, Modelo, No_serie, Puesto)
VALUES(@id, @Descripcion, @No_inv, @Marca,
@Modelo, @No_serie, @Puesto);
END
El siguiente ejemplo muestra
un procedimiento almacenado, llamado spu_addCliente que añade clientes, o sea,
inserta un registro en la tabla ‘Clientes’:
CREATE PROCEDURE spu_addCliente
@nombre VARCHAR(100),
@apellidos VARCHAR(100),
@f_Naciento datetime,
@email VARCHAR(50)
AS
NSERT INTO CLIENTES (nombre, apellidos,
f_nacimiento, email)
VALUES (@nombre, @apellidos, @f_naciento,
@email)
Ahora crearemos un
procedimiento almacenada para eliminar usuarios.
---se crea el procedimiento
para eliminar usuarios
create procedure
elminar_usuarios
---se declaran los parametros
que usaremos
@nombre varchar(50),@apellido
varchar(50)
as
---se hace un delete a la
tabla usuarios con los parametros que
declaramos
delete usuarios
where nombre=@nombre and
apellido=@apellido
2. Resumen
Definición
Los procedimientos almacenados
pueden recibir y devolver información; para ello se emplean parámetros, de
entrada y salida, respectivamente.
Elementos
de los procedimientos almacenados
Los procedimientos almacenados
están compuestos por algunos de estos elementos:
ü Parámetros
de entrada (pueden esperar parámetros)
ü Parámetros
de salida (pueden devolver resultados)
ü Declaración
de variables (puede usarse variables en su cuerpo)
ü Cuerpo
del procedimiento (en su cuerpo se indican las acciones a realizar)
Sintaxis
Para Crear un procedimiento
almacenado debemos emplear la sentencia CREATE PROCEDURE.
CREATE PROCEDURE
<nombre_procedure>
[@param1 <tipo>, ...]
AS
Para modificar un procedimiento almacenado
debemos emplear la sentencia ALTER PROCEDURE.
ALTER PROCEDURE <nombre_procedure>
[@param1 <tipo>, ...]
AS
Administración
de Procedimientos Almacenados
CREACION
Para crear una vista ejecute
la instrucción siguiente para crear una vista muy sencilla que ejecuta una
instrucción SELECT y devuelve los nombres y los precios de nuestros productos
al usuario.
CREATE VIEW vw_Names
AS
SELECT ProductName, Price FROM Products;
GO
MODIFICACION
Si se modifican los datos de
una vista, se modifica la tabla base.
Se puede insertar, actualizar
o eliminar datos de una tabla a través de una vista.
ALTER VIEW nombrevista
AS
SELECT FirstName, LastName,
HireDate
FROM Employee
WHERE FirstName =’Maria’
GO
ELIMINACION
Después de crear una vista,
puede eliminarla si no la necesita o si desea borrar la definición de la vista
y los permisos asociados. DROP VIEW [ schema_name . ] view_name [ ...,n ] [ ; ]
schema_name
Es el nombre del esquema al
que pertenece la vista.
view_name
Es el nombre de la vista que
se va a quitar.
3. Summary
Definition
Stored procedures can receive
and return information; For this, parameters, input and output, respectively,
are used.
Elements of stored procedures
The stored procedures are
composed of some of these elements:
ü Input
parameters (parameters can be expected)
ü Output
parameters (can return results)
ü Declaration
of variables (variables can be used in your body)
ü Body
of the procedure (the actions to be performed are indicated on your body)
Syntax
To create a stored procedure
we must use the statement CREATE PROCEDURE.
CREATE PROCEDURE
<procedure_name>
[@ param1 <type>, ...]
ACE
To modify a stored procedure we must use the
ALTER PROCEDURE statement.
ALTER PROCEDURE <procedure_name> [@
param1 <type>, ...]
ACE
Administration
of Stored Procedures
CREATION
To create a view, execute the
following instruction to create a very simple view that executes a SELECT
statement and returns the names and prices of our products to the user.
CREATE VIEW vw_Names
ACE
SELECT ProductName, Price FROM Products;
GO
MODIFICATION
If the data of a view is
modified, the base table is modified.
You can insert, update or
delete data from a table through a view.
ALTER VIEW nameview
ACE
SELECT FirstName, LastName,
HireDate
FROM Employee
WHERE FirstName = 'Maria'
GO
ELIMINATION
After creating a view, you can
delete it if you do not need it, or if you want to delete the view definition
and associated permissions. DROP VIEW [schema_name. ] view_name [..., n] [; ]
schema_name
It is the name of the scheme
to which the view belongs.
view_name
It is the name of the view
that is to be removed.
4. Recomendaciones
Ø Los
procedimientos almacenados son muy útiles sobre todo en arquitecturas
cliente/servidor donde hay un servidor muy potente el cual se puede aprovechar
para ejecutar procesos, consultas y actualizaciones complejas en la base de
datos.
Ø La cláusula
ORDER BY solo se usa para determinar las filas devueltas por la cláusula TOP u
OFFSET en la definición de la vista. Esta cláusula no garantiza resultados
ordenados cuando se consulte la vista, a menos que también se especifique ORDER
BY en la propia consulta.
5. Conclusiones
Ø Cuando
se crea una vista, la información sobre ella se almacena en estas vistas de
catálogo: sys.views, sys.columns y sys.sql_expression_dependencies. El texto de
la instrucción CREATE VIEW se almacena en la vista de catálogo sys.sql_modules.
Ø El
resultado de una consulta que utiliza un índice de una vista definido con
expresiones numeric o float podría diferir del resultado de una consulta
similar que no utiliza el índice de la vista. Esta diferencia se podría deber a
errores de redondeo durante las acciones INSERT, DELETE o UPDATE en las tablas
subyacentes.
6. Apreciación del Equipo
Ø Las
vistas te permiten un nivel de abstracción mayor, ya que podrías evitar que los
usuarios accedieran directamente a las tablas.
Ø Si
estás preocupado por el rendimiento, asegúrate que las consultas que ejecutas
tienen índices adecuados para resolverlas y que las llamadas las haces
parametrizadas o a través de procedimientos almacenados.
7. Glosario de Términos
Ø ALTER VIEW: Su
funcionalidad es la de modificar las vistas existentes en una base de datos.
Ø CREATE VIEW: Crea
una vista con un nombre de la vista.
Ø DINAMICA: Es un
conjunto de datos que se transforma a partir de un grupo de filas separadas
para un grupo de columnas
Ø DROP VIEW:
permite eliminar la definición de una vista.
Ø FILTROS SQL: son
series de texto que se utilizan para especificar un subconjunto de elementos de
datos en un tipo de datos interno o de base de datos SQL.
Ø INSERT: Inserta filas en una
tabla. Se corresponde con la “C” de CRUD.
Ø SELECT: muestra información
sobre los datos almacenados en la base de datos. Dicha información puede
pertenecer a una o varias tablas. Es la “R”.
Ø UPDATE: Actualiza información
de una tabla. Es, obviamente, la “U”.
Ø DELETE: Borra filas de una
tabla. Se corresponde con la “D”.
8. Bibliografía o Linkografía
9. Linografía de slideshare

No hay comentarios:
Publicar un comentario