Capitulo 1... Volviendo
Modificación de procedimientos almacenados
Los procesimientos almacenados nos ayudan en una cierto porcentaje a ejecutar toda la logica del sistema en las bases de datos, es por esto que para crearlos en slq server se debe realizar lo siguiente:
Create procedure nombreProcedimiento
Variables
As begin
End
Una fora de poder realizar algo basico es imaginar que contamos con una tabla usuarios y queremos mostrar su contenido, en ves de que en la pagina se realize la consulta solo debemos realizar la llama del procedmiento almacenado. Para crear este seria de la siguiemte manera:
Create procedure sp_buscaUsuarios
@Nombre varchar(50) =``
As begin
If nombre <>``
Select * from usuarios
where nombre = @nombre
Else
Select * from usuarios
End
Con esto buscamos usuarios que contengan el nombre que queremos o todos los usuarios disponibles
Si queremos que los usuarios nos aparescan por orden alfabetico agregamos despues del where order by nombre y si queremos que estos sean en mayusculas jugamos con nuestro select a razon de las ayudas del sql.
PL/SQL o SQL SERVER
ahora estoy trabajando en el mismo lugar que realice mi practica, pero la diferencia es que me a enseñado la diferencia de muchas variables.
yo un muchacho consiente que el GNU era lo que tenia que hacer, pero las decisiones cambiaron todo. ahora un programador mas de la corporación de productos microsoft... que vamos a hacer. es por esto que desde ahora volveré a a entregar información sobre las diferentes lógicas que e aprendido a través del tiempo y ayudar a darnos cuenta que un solo lenguaje no es el que tenemos que saber.
como decía un ex profesor de universidad, solo debemos aprender un solo lenguaje bien, los demás son derivadas, integrales, o similares a este.
desde ahora empezare con procedimientos almacenados, esto es lo que ahora me dedico, directamente a desarrollar aplicaciones que no cuenten con datos incrustados.
nuestro inicio del proyecto llevar a cabo la pagina completa en la base de datos...
espero poder terminarla!.
TRIGGERS
CREATE [OR REPLACE] TRIGGER nombreTrigger
momentoEjecución evento [evento] ON nombreTabla
bloque PLSQL;
A nivel de un registro podemos verlo de la siguiente manera:
CREATE [OR REPLACE] TRIGGER nombreTrigger
momentoEjecución evento [evento] ON nombreTabla
[REFERENCING OLD AS old | NEW AS new]
FOR EACH ROW
[WHEN condición]
bloque PLSQL;
En "momentoEjecucion" indicara cuando se ejecutara el triggers, puede ir BEFORE o AFTER
En "evento" puede ir, UPDATE, INSERT o DELETE.
en "old" indicara el valor antiguo que se maneja, mientras que "new" sera el nuevo valor que ahora obtendria despues de ser ejecutado el triggers.
WHEN, como en las sentencias anteriores, es quien dara las restricciones creadas anterior mente por nosotros mismos
mientras que FOR EACH ROW nos indica que el triggers es a nivel de registro.
Para eliminar el trigger:
DROP TRIGGER nombreTrigger
FUNCIONES PLSQL
Para ser uso de una funcion:
CREATE [OR REPLACE] FUNCTION nombreFunción
[nombreParámetro modo tipodatosParametro ]
RETURN tipodatosRetorno IS | AS
bloque de código
en MODO, podemos ocupar las mismas caracteristicas que los procedimientos.
Para eliminar una funcion:
DROP FUNCTION nombreFuncion
USAR UN PROCEDIMIENTO
DECLARE
nombreParametro tipoParametro;
BEGIN
nombreParametro tipoParametro := Valor;
nombreProcedimiento (nombreParametro => nombreParametro);
END;
CREAR SUB PROGRAMAS PLSQL
PROCEDURE y FUNCTION
la sintaxis es:
CREATE [OR REPLACE] PROCEDURE nombreDelProcedimiento
[parametros modo tipodedatos]
IS | AS
Bloque de codigo
EN MODO puede ir IN, OUT, IN OUT, si no colocamos estos valores, es automaticamente IN, esto quiere decir que es de tipo de entrada y no se puede modificar.
Cuando usamos el tipo OUT es que entregara valores de salidas, cuando es del tipo IN OUT significa que debe ingresar un valor este valor se modificara o realizara lo que el procedimiento tenga y luego enviara el valor determinado.
Si quisieramos eliminar el procedimiento, solo debemos colocar:
DOP PROCEDURE nombreProcedimiento
Bloques Anonimos
BLOQUE PLSQL
DECALRE IS/AS
aquí declaramos las variables.
BEGIN
Instrucciones que le damos, que queremos hacer.
EXEPTION
Aquí podemos determinar las cosas que sabemos que pasaran, podemos tener una referencia clara cuando el sistema por ejemplo tenga una divicion por 0, podemos dar una excepción diciéndole que envié un mensaje pero que no cierre la aplicación.
END;
toda sentencia debe ser cerrada de esta manera.