base_datos_2_teoria

13
Procuro Olvidarte .... Jose Velez. /*SINTAXIS DEL LENGUAJE DML PARA CADA OPERACION TRANSA CCIONAL EXITE UN CONJUNTO DE INSTRUCIONES O MAS PALABRAS RESERVADAS DEL LENGUAJE . LAS OPERACIONES FUNDAMENTALES QUE PERMITEN MANIPUILAR UNA BASE DE DATOS SON: OPE RACION DE INSERCION OPERACION DE MODIFICAION Y OPERACION DE ELIMINACION DE DATOS. OPERACION INSERCION: PERMITE AGREGAR O INGRESAR UNA O MAS FILAS DE DATOS EN UNA TABLA O ARCHIVO, PARA REALIZAR ESTA OPERACION SE DEBE TENER EN CUENTA LA SIGUIENTE SINTAXIS: INSERT INTO [NOMBRE TABLA ] VALUES (LOS VALORES ) EJEMPLO INSERT INTO tblbien VALUES (10,'VEHICULO','TIPO CAMIONETA CHEVROLET',7300000 ) INSERT INTO tblbien VALUES (11,'APARTAMENTO','PENT HOUSE',800000 ) OTRA FORMA DE SINTAXIS ES :  INSEER INTO [NOMBRE DE LA TABLA ] [(ATRIBUTO)] VALUES (VALORES) EJEMPLO INSERT INTO tblbien (id_bien,tipo_bien,precio)VALUES (12,'VEHICULO',5000000 ) OPERACION MODIFICAR : CONSISTE EL ALTERAR O CAMBIAR LOS DATOS O VALORES CONTENID OS EN UNO O MAS ATRIBUTOS DE UNA TABLA ESTA OPERACION IGUALMETE TIENE UNA SINTAXIS,  Y ES LA SIGUIENTE: UPDATE [NOMBR E TABLA ] SET [(ATRIBUTO= VALOR)] WHERE [ATRIBUTO =VALOR ] EJEMPLO UPDATE tblbien SET id_bien=12,tipo_bien='V EHICULO',detalle='TWINGO ',precio='5000 000' WHERE id_bien=12 UPDATE tblbien SET precio='9000000' WHERE id_bien=13 OPERACION ELIMINAR: CONSISTE EN ELIMINAR UNA O MAS FILAS DE UNA TABLA , SU SINTA XIS ES LA SIGUIENTE:  DELETE FROM [NOMBRE TABLA ] LA SINTAXIS ANTERIO SE APLICA CUANDO QUEREMOS ELIMINAR TODOS LOS REGISTROS DE UN A TABLA ESTO SE DEBE HACER EN CASOS ESPECIALES Y DESPUES DE UNA CONFIRMACION POR PARTE DEL SISTEMA

Upload: edinson-cm

Post on 06-Jan-2016

212 views

Category:

Documents


0 download

TRANSCRIPT

7/17/2019 BASE_DATOS_2_TEORIA

http://slidepdf.com/reader/full/basedatos2teoria 1/13

Procuro Olvidarte .... Jose Velez./*SINTAXIS DEL LENGUAJE DMLPARA CADA OPERACION TRANSACCIONAL EXITE UN CONJUNTO DE INSTRUCIONES O MASPALABRAS RESERVADAS DEL LENGUAJE .

LAS OPERACIONES FUNDAMENTALES QUE PERMITEN MANIPUILAR UNA BASE DE DATOS SON: OPERACION DE INSERCIONOPERACION DE MODIFICAION Y OPERACION DE ELIMINACION DE DATOS.

OPERACION INSERCION: PERMITE AGREGAR O INGRESAR UNA O MAS FILAS DE DATOS EN UNATABLA O ARCHIVO, PARA REALIZAR ESTA OPERACION SE DEBE TENEREN CUENTA LA SIGUIENTE SINTAXIS:

INSERT INTO [NOMBRE TABLA ] VALUES (LOS VALORES )

EJEMPLO

INSERT INTO tblbien VALUES (10,'VEHICULO','TIPO CAMIONETA CHEVROLET',7300000 )INSERT INTO tblbien VALUES (11,'APARTAMENTO','PENT HOUSE',800000 )

OTRA FORMA DE SINTAXIS ES : INSEER INTO [NOMBRE DE LA TABLA ] [(ATRIBUTO)] VALUES (VALORES)

EJEMPLO

INSERT INTO tblbien (id_bien,tipo_bien,precio)VALUES (12,'VEHICULO',5000000)

OPERACION MODIFICAR : CONSISTE EL ALTERAR O CAMBIAR LOS DATOS O VALORES CONTENIDOSEN UNO O MAS ATRIBUTOS DE UNA TABLA ESTA OPERACION IGUALMETE TIENE UNA SINTAXIS, Y ES LA SIGUIENTE:

UPDATE [NOMBRE TABLA ] SET [(ATRIBUTO= VALOR)] WHERE [ATRIBUTO =VALOR ]

EJEMPLO

UPDATE tblbien SET id_bien=12,tipo_bien='VEHICULO',detalle='TWINGO',precio='5000000'

WHERE id_bien=12

UPDATE tblbien SET precio='9000000' WHERE id_bien=13

OPERACION ELIMINAR: CONSISTE EN ELIMINAR UNA O MAS FILAS DE UNA TABLA , SU SINTA

XIS ES LA SIGUIENTE:

 DELETE FROM [NOMBRE TABLA ]

LA SINTAXIS ANTERIO SE APLICA CUANDO QUEREMOS ELIMINAR TODOS LOS REGISTROS DE UNA TABLAESTO SE DEBE HACER EN CASOS ESPECIALES Y DESPUES DE UNA CONFIRMACION POR PARTEDEL SISTEMA

7/17/2019 BASE_DATOS_2_TEORIA

http://slidepdf.com/reader/full/basedatos2teoria 2/13

DELETE FROM [NOMBRE DE LA TABLA] WHERE [ATRIBUTO= VALOR ]

EJEMPLO

DELETE FROM tblbien WHERE id_bien=11

LENGUAJE SQL

SIGNIFICADO :LENGUAJE PARA CONSULTA ESTTRUCUTURADO

CARACTERISTICAS DEL LENGUAJE

ES UN LENGUAJE STANDARIZADO ES DECIR QUE PUEDE APLICARSE EN CUALQUIER SGBD ()SISTEMA GESTOS DE BASE DATOS)

ES UN LESGUAJE FLEXIBLE EN SU SINTAXIS YA QUE NO TIENE PROBLEMA AL UTILIZAR MAYUSUCLAS EN SU ESCRITURA.

OBJETIVO O PROPOSITO DEL LENGUAJE SQL :

SQL SE APLICA SOBRE UNA BASE DE DATOS CON EL FIN DE PODER EXTRAER UNA PORCION DE DATOS CONTENIDOS ALLI.EN EL MOMENTO DE OBTENER LA INFORMACION , EL SISTEMA MUESTRA O VISUALIZA LOS RESULTADOS EN FORMA DE TABLA O VISTA TEMPORAL

SQL UTILIZA UNOS COMANDOS O PALABRAS RESERVADAS PARA LOGRAR EL PROPOSITO DE LA OBTENCION DE INFROMACION.CADA COMANDO TIENE UNA SINTAXIS ESPECIFICA

LOS COMANDOS FUNDAMENTALES QUE UTILIZA SQL SON

SELECT : PERMITE SELECIONAR UNO O MAS COMANDOS DE UNA O MAS TABLAS DE LA BASE DE DATOS

FROM : ESTABLECE EL ORIGEN DE LOS DATOS ES DECIR ESPECIFICA LAS TABLAS QUE CONTIENE LOS ATRIBUTOS PREVIAMENTE SELECIONADOS

WHERE: PERMITE ESTABLECER UN CRITERIO O CONDICION DE BUSQUEDA

SINTAXIS:

SELECT [ATRIBUTOS ]; LOS ATRIBUTOS SE INDICAN SEPARADOS POR COMO (,).

FROM [NOMBRE DE LA TABLA ]WHERE [(ATRIBUTO=VALOR )]

EJEMPLOS

VISUALIZAR TODOS LOS ATRIBUTOS CON SUS DATOS DE LA TABLA TBLBIEN// varias formas de visualizar //

SELECT id_bien,tipo_bien,detalle,precio from tblbienselect *from tblbien

7/17/2019 BASE_DATOS_2_TEORIA

http://slidepdf.com/reader/full/basedatos2teoria 3/13

select tblbien.id_bien, tblbien.tipo_bien, tblbien.detalle, tblbien.precio fromtblbien

APLICACIO DEL COMANDO O PALABRA RESERVADA WHERE

EJEMPLOS

MOSTRAR TODOS LOS ATRIBUTOS CON SUS DATOS SIEMPRE Y CUANDOSE CUMPLAN QUE EL TIPO DE BIEN SEA UN VEHICULO

SELECT *FROM tblbien WHERE tblbien.tipo_bien='VEHICULO'

MOSTRAR TODOS LOS REGISTROS DE LA TABLA TBLBIEN CUYO PRECIO DE LOS BIENE SEA MAYOR A 6500000

SELECT *FROM tblbien WHERE tblbien.precio >6500000

//** consultas con join

select tblpropietario.idrop,tblPropietario.nombp  tblVentaBien.fechaventa,  tblVenta.totalvventa

 from tblPropietario INNER JOIN tblventaBien  on tblPropietario,idprop=tblVentaBien,idprop

  where tblPropietario.idprop=71 insert into tblPropietario Values (71,'juan camilo','[email protected]','cra 85',414)

insert into tblPropietario Values (72,'edinson camilo','[email protected]','cra 15',414)

selet* from tblPropietario

insert into tblVentaBien Values (100,'26/02/2011',71,500000)insert into tblVentaBien Values (200,'18/02/2011',71,800000)insert into tblVentaBien Values (300,'18/01/2011',72,500000)insert into tblVentaBien Values (400,'25/01/2011',71,600000)insert into tblVentaBien Values (500,'12/03/2011',73,780000)

select *from tblventaBien

/*diseñe una consulta inner join que permita traer todas las ventasde cada uno de los propietarios, siempre y cuando sean ventas menores a 600000

select tblpropietario.idrop,tblPropietario.nombp  tblVentaBien.fechaventa,  tblVenta.totalvventa

7/17/2019 BASE_DATOS_2_TEORIA

http://slidepdf.com/reader/full/basedatos2teoria 4/13

 from tblPropietario INNER JOIN tblventaBien  on tblPropietario,idprop=tblVentaBien,idprop

  where tblVentaBien.totalventa=<60000

//////////************************************************//////////////////////////////

 Consultas inner join con tres o mas tablas por ejemplo diseñe una consulta que muestre las ventas y el detalle de cada una de ellas por cada uno de los propietarios de la base de datos

primero se llena la tabla detalle ventaBien

 insert into tblDetalleVenta Values(100,10) insert into tblDetalleVenta Values(100,12) insert into tblDetalleVenta Values(200,13) verifica los datos

select *from tbldetalleVenta

 ////construimos la consulta inner join con las tres tablas

selecttblpropietario.idpro,tblPropietario.nombre,tblVentaBien.fechaVenta,tblventabien.totalventa,tblBien.detalle.tblBien.tipobien

from tblPropietario INNER JOIN tblVentaBienon tblpropietario.idpro=tblVentaBien.idpro  INNER JOIN tblDetalleVentaON tblVentaBien.nroventa=tblDetalleVenta.nroventa

  INNER JOIN tblBien

on tblDetalleVenta.idbien=tblBien.idbien

Vistas -----

una vista es un objeto que se crea em sgbd, con el fin de permitirque el script o codigo asociado a una consulta se pueda invocar o utulizar las veces que sea necesario una vista tiene la siguiente sintaxis :

Create view [nombre de la vista ] as

instruciones

ejemplo

CREATE VIEW v_bien as

select *from tblbien where idbien=10  */ PARA EJECUTAR LA VISTA se coloca en nombre de la vistadentro de una instrucion select la cual permitira devolver el contenido de la

 consulta :

7/17/2019 BASE_DATOS_2_TEORIA

http://slidepdf.com/reader/full/basedatos2teoria 5/13

  select* from v_bien 

select *from tblbien where tipobien like 'a%'--------------------------////////////-------------------------COMANDO LIKE : ESTA PALABLA RESERVADA O COMANDO PERMITE REALIZAR UNA BUSQUEDA MAS ESPECIFICA O DETALLADAS , A PARTIR DE UNO O MAS CAMPOS DE UNA TABLA. EL DETALLE DE LA CONSULTA SE ESPECIFICA CON UN CARACTER INICIAL UN CARACTER INTERMEDIO , O UN CARACTER AL FINAL DE LA CADENA QUE SE QUIERE FILTRAR

EL COMANDO LIKE PERMITE FILTRAR A PARTIR DE LA ESPECIFICACION DE UN CARACTER INICIAL SEGUIDO DEL CARACTER COMODIN PORCENTAJE % ESTE ULTIMO SIFNIFICA QUE EL RESTO DE LA CADENA QUE HACE PARTE DE LA BUSQUEDA NO INTERESADA

EJEMPLO

SELECT* FROM TBLBIEN WHERE TIPOBIEN LIKE 'a%'

LIKE TAMBIEN PERMITE HACER BUSQUEDAS TENIENDO EN CUENTA UN INTERVALO DE CARACTERES INICIALES , IGUALMENTE UTILIZANDO EL PORCENTAJE % PARA ESPECIFICAR QUE NO IMPORTA SEA EL RESTO DE CARACTERISITCAS QUE COMPONEN LA CADENA

EJEMPLO

SELECT*FROM tblbien where tipobien like '[a-m]%'  select *from tblbien where tipobien like '[a-v]%'

 

TAMBIEN LIKE PERMITE REALIZAR BUSQUEDAS ESPECIFICANDO UN CARACTER INTERMEDIO DENTRO DE LA CADENA QUE SE COMPORTA COMO CRITERIO DEBUSQUEDAD ES O CARACTER ESTE CASO DICHO CARACTER PUEDE ESTAR EN LA POSICION 2,3O N DE LA CADENA

EJEMPLO

SELECT*FROM tblbien where tipobien like '_e%'

FUNCIONES DE AGREGADO

SON FUNCIONES MATEMATICAS QUE PERMITEN REALIZAR OPERACIONES EN FORMA AUOTOMATICA  LAS CUALES FACILITAN CIERTOS PROCESOSA EN UNO O MAS ATRIBUTOS DE UNA TABLA DEUNA BASE DE DATOSLAS FUNCIONES DE AGREGADO MAS UTILIZADOS SON :

  SUM : PERMITE REALIZAR LA SUMA DE TODOS LOS DATOS CONTENIDOS ES UNA COLUMNA DE TIPO NUMERICO MAX : PERMITE REALIZAR LA OPERACION PARA OBTENER EL VALOR MAXIMO EN  UNA COLUMNA DE TIPO NUMERICO

MIN : PERMITE REALIZAR LA OPERACION PARA OBTENER EL VALOR MINIMO EN UNA COLUMNA DE TIPO NUMERICO

AVG : PERMITE CALCULAR EL PROMEDIO SOBRE TODOS LOS VALORES NUMERICOS

7/17/2019 BASE_DATOS_2_TEORIA

http://slidepdf.com/reader/full/basedatos2teoria 6/13

  CONTENIDOS EN UNA COLUMNA DE TIPO NUMERO

EJEMPLOS :

 select sum (precio) from tblbien // calcula la suma de todos losprecios de la tabla tblbien

 select avg (precio) from tblbien // calcula el promedio de losprecios de la tabla bien

 select min(precio) from tblbien //Calcula el menor valor en este caloprecio menor de la tabla tblbien

  select max(precio) from tblbien// calcula el mayor valor

// COMANDOS DESC Y COMANDO ASC//

Permiten mostrar en forma ascendente o desendente los datos provenientes de una consulta , si los datos son numericos el sistemalos organiza de menor a mayor o de mayor a menor; en caso de ser texto el sistema ordena en forma alfabetica.

 Ejemplos : Muestra todos los registros de la tabla tblbien ordenados de mayor a menor por el campo precio

select * from tblbien order by precio desc

  /muestre todos los registros ordenados alfabeticamnte en forma descendente atraves del atributo tipo bien

select * from tblbien order by tipo_bien desc

// COMANDOS GRUO BY: Este coamndo o palabra reservada permite mostrar los datos resultado de uno c

onsulta en forma agrupada a partir de uno de los atributosespecificos este comando es muy utilizado cuando se aplican las funciones u operaciones de agregado ejemplos:

 1.Muestre la suma de los precios de todos los bienes de la tabla bieny el tipo bien donde se cumpla que los bienes sean menores a 8000000

 select sum(precio),tipobien from tblbienwhere precio<8000000 group by tipobien

  //PROCEDIMIENTOS ALMACENADOS// DEFENICION :Son objetos que se crean y quedan almacenados en el sistema gestorde base de datos

Caracteristicas: Deben tener un identificador, o nombre,el cual debe ser unico 

Los procediminetos almacenados se caracterizan por permitir especificar consultas de tipo dinamicas.

7/17/2019 BASE_DATOS_2_TEORIA

http://slidepdf.com/reader/full/basedatos2teoria 7/13

 Los procediminetos almacenados se comunican en forma eficiente con el lenguaje de programacion, con el fin de reducir el numero de instrucciones del lado de las interfaces , o de los objetos o clases que se establecen durante la programacion.

Los procedimientos almacenados tambien se caracterizan por permitir incluir condicionales, variables , ciclos, entre otros. En otras palabras un procedimiento almacenado se convierte en un subprograma o metodo de programacion.

 Sintaxis

CREATE PROCEDURE <NOMBRE PROCEDIMEINTO>  <VARIABLES>

  AS<INSTRUCIONES>------

El nombre del procedimento alamacenado se establece teniendo en cuentala fincionalidad que tendra el objeto, recordemos que el nombre de ser unico .Las variables del procedimento se crean por lo general teniendo en cuenta los nombres y tipos de los atributos de una o mas tablas que vayan a ser involucradas

o afectadas en el procedimento.una variable puede tener el mismo nombre o atributo, pero debe estar precedida por el caracter @ ,y seguido del tipo de datos que soportan la misma . Ejemplos:@id int, @nombre Varchar(50), @tel varchar (50)

 1. crear un procedimento alamacenado que permita hacer dinamica una consulta para mostrar los datos de cualquier bein a traves de su identificacion.

 CREATE PROCEDURE sp_Bbien  @id int

asselect *from tblbien where id_bien= @id

// para ejecutar las intruciones contenidas en el prosedure se debe activar el procedure de la siguiente forma :

 SINTAXIS

EXECUTE <NOMBRE DEL PROCEDIMIENTO><PARAMETROS>

 La palabra execute tambien se puede abriviar como EXEC, significa ejecutar o activar un objeto en este caso ejecutaran un procedimento almacenado especifico. esta palabras debe ir seguidas del nombre del objeto y posteriormente los paramet

ros si existen es decir no es obligatorio en el caso que no existan variables asociadas al procedimiento ejemplo: EXECUTE sp_Bien 11

//Diseñe un procedimiento almacenado que permita generar un mensaje o alerta depues de efectuar una operacion matematica de suma sobre la columna precio. el mensaje de indicar si la suma es mayor a 2000000, o indicar lo contrario en caso deser menor //

7/17/2019 BASE_DATOS_2_TEORIA

http://slidepdf.com/reader/full/basedatos2teoria 8/13

CREATE PROCEDURE sp_CalcularSuma@suma intas

select @suma =sum (precio) from tblbien  if @suma>2000000

print 'La suma es mayor a 2000000'

  elseprint 'La suma es menor a 2000000'

ALTER PROCEDURE sp_CalcularSuma // alter modificar el procedimiento@suma intas

select @suma =sum (precio) from tblbien  if @suma>2000000

begin  print 'La suma es mayor a 2000000'  print @suma

endelsebegin

  print 'La suma es menor a 2000000'print @sumaend

 declare @suma int

  execute sp_CalcularSuma @suma procedimentos de entrada y salida hay que declararla de nuevo....

CREAR LA SIGUIENTE BASE DE DATOS

/*Crear Base de datos*/CREATE DATABASE procedimientosBDUse ProcedimientosBD

/*creacion de tablas */CREATE TABLE tblValores(id int not null primary key, valor1 int, valor2 int , valor3 int)

/* creacion de un procedimento almacenado que permita llenar en forma automatica el campo id de latabla tblValores */

 create procedure sp_llenarcampo @k int as  set @k=1 

while @k<=10 

begininsert into tblValores(id) values (@k)

7/17/2019 BASE_DATOS_2_TEORIA

http://slidepdf.com/reader/full/basedatos2teoria 9/13

  set @k=@k+1end

ejercicio

 crear un procedimento almacenado que permita llenar el atributovalor1 de la tabla tblValores con valores desde 1000 hasta 10000, recuerde

que ya existen valores en la columna id

create procedure sp_modificar @k int, @val int as  set @k=1  set @val=1000

while @k<=10 

beginupdate tblValores set valor1 =@val where tblValores.id=@k

  set @k=@k+1set @val=@val+1000

  end

declare @k int  declare @val int

execute sp_modificar @k,@val 

select *from tblValores

crear un procedimento almacenado que permita llenar los campos valor2 y valor 3 de la tabla tblValores de la siguiente manera : valor2 debe tenr datos desde 50000 hasta 140000 y la columna valor debe tenr datos desde 150000 hasta 240000.

igual mente pide calcular la suma de los valores contenidos en la columna 2 y el promedio de los valores contenidos en la columan3 imprima los resultados de las operaciones.

/ procedimentos almacenados

1. Crear un procedimento almacenado que permita consultar y validar un usuarioespecifico a partir de su nombre y clave

Create DATABASE USUARIOSBDuse USUARIOSBDcreate table tblUsuario  (idU int primary key, nombreU varchar(50),claveU varchar(8))

 insert into tblUsuario Values (1,'Tito Cruz','TO123')

  insert into tblUsuario Values (2,'Lina Granada','LG456')  insert into tblUsuario Values (3,'Edison Cordoba','EC789') Create Procedure sp_ValidarUser

  @nomU varchar(50), @claveU varchar (50)  as

select nombreU,claveU from tblUsuario  where nombreU=@nomU and claveU=@claveU

7/17/2019 BASE_DATOS_2_TEORIA

http://slidepdf.com/reader/full/basedatos2teoria 10/13

 ejemplo 2

crear un procedimiento almacenado que permita mostrar todos los usuarios cuya clave tenga es sus primeros dos caracteres tenga T y Oel resto de caractes no interesa

/*************************///***************************  TRANSACIONES :

 una transacion es un conjunto de instruciones que desecadenan de forma implicita o explicita segun la necesidad y la configuracion que establece el dba sobre la base de datoscuando se refiere a las transaciones implicitas quiere decir que es el mismo sgdb el que ejecuta o dispara la transacion al momento de identificar cualquier operacion relacionada con una insercion ,modificacion , o proceso de eliminacion.

 las transaciones explicitas son establecidad por el usuario , y controladas por el sgbd. en otras palabras este tipo de transaciones son programas y ejecutadas por el usuario final con el apoyo del sgbd.

 caracteristicas de las transacciones:

 las transaciones deben cumplir con las caractristicas asociadasa la sigla ACID en ingles (atomocity, constency,isolated, durability) es deciratomicidad, consistencia ,aislamiento y durabilidad.

atomicidad: Esto indica que la transaccion deber atomica no indivisible , en ontras palabras deber ser homogenea y completa en su ejecuccion. el 100 de sus transacciones se debe completar en forma secuencial y logica .

consistencia : quiere decir que despues de ejecutarse una transaccion la base de datos debe quedar consistente respecto a su estrucutura y datos . en otras palabras no se modifica o altera BD a pesar de la ejecucion de una o mas trnsaciones.

aislamiento: sedefine a la ocultacion del codigo fuente para los usuarios finales. esto significa que la transaccion se debe ejecutar en forma transparente para el usuario, su programacion no se muestra al usuario, solo la interface. otra forma de describirlo es indicar que la transaccion es abstracta para el usuario respecto al conjunto de instruciones que lo componen.

Durabilidad: hece referencia a la durabilida de la base de datos despues de laejecucion de una o mas transaciones , teniendo en cuenta ciertos errores o fallos que puedan pasar. en otras palabras se refiere a la capacidad que tiene la base de datos de soportar una caida del sistema por ejemplo un reinicio del sistem

a entre otros y permanecer durable respeto a la ejecucion de la transaccion. eneste caso la transaccion debe autocompletarse para dejar la base de datos como inicialmente se encontraba.

/////PALABRAS CLAVES

BEGIN TRAN: INICIO DE LA TRANSACCIONCOMMIT: PROCESAMIENTO DE LA TRANSACCIO EXITOSOROLLBACK: DESHACE LA TRANSACCION@@ERROR: FUNCION QUE CAPTURA ERRORES EN EJECUCION

7/17/2019 BASE_DATOS_2_TEORIA

http://slidepdf.com/reader/full/basedatos2teoria 11/13

 SINTAXIS PARA LA CREACION DE UNA TRANSACCION :  BEGIN TRAIN <NOMRE DE LA TRANSACCION>  < INSTRUCIONES INSERT,UPDATE O DELETE>  <VALIDACIONES O EXCEPCIONES>

TENER EN CUENTA : EL NOMBRE DE LA TRANSACCION NO ES OBLIGATORIO LAS INSTRUCCIONES SE REFIERE A LAS OPERACIONES QUE EJECUTARA EL ALGORITMO EN FORMA ATOMIA; EN ESTE CASO INSERCIONES,MODIFICACIONES O ELIMANDO DATOS.

LAS EXCEPCIONES O VALIDACIONES SON LOS CONTROLES DE ERROS QUE EL PROGRMADOR ESTABLECE EN SU ALGORITMO(TRANSACCION)PARA VERIFICAR SI LA TRANSACCION ES EXITOSA (COMMIT) O SE DESHACE ROLLBACK

 EJEMPLO:

  /* BEGIN TRANINSERT INTO tbltitles (title_id,titulo,tipo)values(1,TITULO1,TIPO2)

 if (@@ERROR <> 0)

  beginprint 'error inesperado!'

  rollback tran

end

elseBegin

COMMIT TRAM  print 'transaccion realizada con exito'  end

*/

  update tbltitles set id='10', titulo='titulo',tipo='tipo2'  where id=10 

if (@@ERROR <> 0)  beginprint 'error inesperado!'

  rollback tran

end

elseBegin

COMMIT TRAM  print 'transaccion realizada con exito'  end

crear la transaccion de insercion dentro de un procedimento almacenado

que son cursores en sql server para que sirven cuales son sus caracterisicasejemplos de cursor

 ---------------CURSORES ---------------------------

7/17/2019 BASE_DATOS_2_TEORIA

http://slidepdf.com/reader/full/basedatos2teoria 12/13

Definicion : un cursor es un objeto crado en sgbd . el objeto es creado en forma temporal

porposito: servir de filtro de datos en memoria, con el fin de realizar ciertosoperaciones logicas o matematicas.

Caracterisitcas:

*son objetos temporales creados en memoria  *tiene nombre o identificador  *filtran sus datos a partir de una consulta sql  *se abren, se recorren, se cierran, y se liberan de la memoria. sintaxis

<declaracion de variables declare <nombre cursor> cursosr for <scrip sql><apertura del cursor> open <nombre cursor>  <recorrido del cursor>  <cierre del cursor>close <nombre del cursor>

<liberar de memoria el cursor>

  ejemplo:

Diseñe un cursor que permita flitrar los datos de una tabla origen, la cual seencuentran en una base de datos, y los migre o pase a otra tabla vacia , la cual se encunetra en la misma base de datos. tenga en cuenta que ambas tablas tienelas mismas estructura es decir iguales campos , y longitudes

declaramos las variables declare @id as intdeclare @apellido as varchar (50)

 declare @nombre as varchar (50) declaramos un cursor llamado "cursorito" el select debe contener solo los campos a utilizardeclare cursorito cursor forselect id,apellido,nombre from tblinicial  open cursorito

 -- avanzamos un registro y cargamos en las variables los valores encontrados en el primer registro

  fetch next from cursoritointo @id,@apellido , @nombre

  while @@fecth_status =0 begin

inser into tblinicial2 values (@id,@apellido,@nombre)

  Avanzamos otro registro fetch next from cursorito  into @i,@apellido,@nombre  end

7/17/2019 BASE_DATOS_2_TEORIA

http://slidepdf.com/reader/full/basedatos2teoria 13/13

 cerramos el cursor

close cursoritodeallocate cursorito

consulta:

como integrar un cursor dentro de un procedimento almacenado

[email protected] 

EN SQL SERVER CREE 2 BASES DE DATOS UNA LLAMADA BDORIGEN EN ELLA DEBE CREAR UNA TABLA LLAMADA TBLORIGEN ATRIBUTOS ID(INT)NOMBRE(VARCHAR),

INGRESE 5 REGISTROS A LA TABLA TBLORIGEN . LUEGO CREE OTRA BASE DE DATOS LLAMADA BDDESTINO CON LOS MISMO ATRIBUTOS Y TIPOSPERO VACIA LA TABLA LLAMADA DESTINO CON LOS MISMO

calidad en seervcio del sotwared 

creacion de usuarios

sp_addlogin 'user1' '123456'