SlideShare ist ein Scribd-Unternehmen logo
1 von 4
LA SENTENCIA JOIN
La sentencia JOIN en SQL permite combinar registros de dos o más tablas en una base
de datos relacional. En el Lenguaje de Consultas Estructurado (SQL), hay tres tipo de
JOIN: interno, externo, y cruzado.
Todas las explicaciones que están a continuación utilizan las siguientes dos tablas para
ilustrar el efecto de diferentes clases de uniones JOIN.
Combinación interna (INNER JOIN):
Con esta operación es calculado el producto cruzado de todos los registros; así cada
registro en la tabla A es combinado con cada registro de la tabla B; pero sólo
permanecen aquellos registros en la tabla combinada que satisfacen las condiciones que
se especifiquen
Las dos consultas siguientes son similares, y se realizan de manera explicita (A) e
implícita (B).
A. Ejemplo de la sentencia INNER JOIN explícita:
SELECT * FROM empleado INNER JOIN departamento ON
empleado.IDdepartamento = departamento.IDdepartamento
B. Ejemplo de la sentencia INNER JOIN implícita:
SELECT * FROM empleado, departamento WHERE empleado.IDdepartamento
= departamento.IDDepartamento
Resultados:
PROCEDIMIENTOS ALMACENADOS EN SQL SEVER 2000
Que Son Los Procedimientos Almacenados?
Un procedimiento almacenado (store procedure) es un programa (o procedimiento) el
cual es almacenado físicamente en una base de datos. Generalmente son escritos en un
lenguaje de bases de datos propietario como SQL.
La ventaja de un procedimiento almacenado es que al ser ejecutado, en respuesta a
una petición de usuario, es ejecutado directamente en el motor de bases de datos, el cual
usualmente corre en un servidor separado. Como tal, posee acceso directo a los datos
que necesita manipular y solo necesita enviar sus resultados de regreso al usuario,
deshaciéndose de la sobrecarga resultante de comunicar grandes cantidades de datos
salientes y entrantes.
TIPOS DE PROCEDIMIENTOS ALMACENADOS
• Procedimientos almacenados definidos por el usuario:
o Los procedimientos almacenados son módulos o rutinas que encapsulan
código para su reutilización. Un procedimiento almacenado puede incluir
parámetros de entrada, devolver resultados tabulares o escalares y
mensajes para el cliente, invocar instrucciones de lenguaje de definición
de datos (DDL) e instrucciones de lenguaje de manipulación de datos
(DML), así como devolver parámetros de salida. En SQL Server 2008
existen dos tipos de procedimientos almacenados: Transact-SQL o CLR
• Transact-SQL
o Un procedimiento almacenado Transact-SQL es una colección guardada
de instrucciones Transact-SQL que puede tomar y devolver los
parámetros proporcionados por el usuario. Por ejemplo, un
procedimiento almacenado puede contener las instrucciones necesarias
para insertar una nueva fila en una o más tablas según la información
suministrada por la aplicación cliente o es posible que el procedimiento
almacenado devuelva datos de la base de datos a la aplicación cliente.
Por ejemplo, una aplicación Web de comercio electrónico puede utilizar
un procedimiento almacenado para devolver información acerca de
determinados productos en función de los criterios de búsqueda
especificados por el usuario en línea.
• CLR
o Un procedimiento almacenado CLR es una referencia a un método
Common Language Runtime (CLR) de Microsoft .NET Framework que
puede aceptar y devolver parámetros suministrados por el usuario. Se
implementan como métodos públicos y estáticos en una clase de un
ensamblado de .NET Framework.Para obtener más información, vea
Procedimientos almacenados CLR (en inglés).
Ejemplos:
• Procedimiento almacenado para guardar un nuevo cliente
• Procedimiento almacenado para modificar un cliente
• Procedimiento almacenado para eliminar un cliente
•
CREATE PROCEDURE spCliente_N
@dniruc varchar(11),
@compania varchar(20),
@contacto varchar(30),
@ciudad varchar(20),
@direccion varchar(30),
@telefono varchar(20),
@email varchar(20),
@usuario varchar(20),
@clave varchar(20),
@observacion varchar(50)
as Insert into clientes
values(@dniruc,@compania,@contacto,@ciudad,@direccion,@telefono,@email,@usu
ario,@clave,@observacion)
GO
CREATE PROCEDURE spCliente_M
@dniruc varchar(11),
@compania varchar(20),
@contacto varchar(30),
@ciudad varchar(20),
@direccion varchar(30),
@telefono varchar(20),
@email varchar(20),
@usuario varchar(20),
@clave varchar(20),
@observacion varchar(50)
as Update clientes set dniruc = @dniruc, compania = @compania, contacto =
@contacto,
ciudad = @ciudad, direccion = @direccion, telefono = @telefono, email = @email,
usuario = @usuario, clave = @clave, observacion = @observacion
where dniruc = @dniruc
GO
CREATE PROCEDURE spCliente_E
@dniruc char(11)
as DELETE FROM clientes WHERE dniruc = @dniruc
GO
• Procedimiento almacenado para buscar clientes
• Procedimiento almacenado para buscar un producto ya sea por código y/o
descripcion
EJECUTAR UN PROCEDIMIENTO ALMACENADO EN EL ANALIZADOR
DE CONSULTAS DE SQL SERVER 2000
exec spCliente_N '12547854','flores srl',’arturo’,’pucallpa’,’sdsd’,’595959’,
‘saa@hotmail.com’,’sa’,’sa’,’xxx’
CREATE PROCEDURE spCliente_BC
AS
SELECT * FROM clientes
order by compania
GO
CREATE PROCEDURE spDInventario_CD
@vcodprod char(10),
@vdesP varchar(50)
AS
if @vcodprod ='' and @vdesP =''
begin
SELECT * from detalle_inv
end
if @vcodprod <>'' and @vdesP <>''
begin
SELECT * from detalle_inv WHERE codprod= @vcodprod and
des= @vdesP
end
if @vcodprod <>'' or @vdesP <>''
begin
SELECT * from detalle_inv WHERE codprod= @vcodprod or des=
@vdesP
end
GO

Weitere ähnliche Inhalte

Was ist angesagt?

Optimizacion De Consultas
Optimizacion De ConsultasOptimizacion De Consultas
Optimizacion De ConsultasOto Tumax
 
Diccionario de datos
Diccionario de datosDiccionario de datos
Diccionario de datosJorge Garcia
 
Creación de tablas y relaciones en mysql workbench
Creación de tablas y relaciones en mysql workbenchCreación de tablas y relaciones en mysql workbench
Creación de tablas y relaciones en mysql workbenchJair Ospino Ardila
 
Normalización de Base de Datos
Normalización de Base de DatosNormalización de Base de Datos
Normalización de Base de DatosVannesa Salazar
 
Unidad 2 ensamblador
Unidad 2   ensambladorUnidad 2   ensamblador
Unidad 2 ensambladoreveTalavera
 
Diagramas de caso de uso
Diagramas de caso de usoDiagramas de caso de uso
Diagramas de caso de usoTensor
 
Modelo de prototipo
Modelo de prototipoModelo de prototipo
Modelo de prototipoyanezcabrera
 
5. Ejercicios normalización
5. Ejercicios normalización5. Ejercicios normalización
5. Ejercicios normalizaciónMarcelo Herrera
 
Bases de Datos NoSQL
Bases de Datos NoSQLBases de Datos NoSQL
Bases de Datos NoSQLIsabel Gómez
 
Comandos básicos para bases de datos mysql y workbench
Comandos básicos para bases de datos mysql y workbenchComandos básicos para bases de datos mysql y workbench
Comandos básicos para bases de datos mysql y workbenchRobedgar MX
 
Programación MySQL-Ejercicios
Programación MySQL-EjerciciosProgramación MySQL-Ejercicios
Programación MySQL-Ejerciciostestgrupocomex
 
Cuestionario
CuestionarioCuestionario
CuestionarioJose Nava
 
Unidad 1.2 A IntroduccióN A Los Proceso De Software Modelos Tradicionales
Unidad 1.2 A IntroduccióN A Los Proceso De Software   Modelos TradicionalesUnidad 1.2 A IntroduccióN A Los Proceso De Software   Modelos Tradicionales
Unidad 1.2 A IntroduccióN A Los Proceso De Software Modelos TradicionalesSergio Sanchez
 

Was ist angesagt? (20)

Estilos arquitectónicos
Estilos arquitectónicosEstilos arquitectónicos
Estilos arquitectónicos
 
Optimizacion De Consultas
Optimizacion De ConsultasOptimizacion De Consultas
Optimizacion De Consultas
 
Diccionario de datos
Diccionario de datosDiccionario de datos
Diccionario de datos
 
Creación de tablas y relaciones en mysql workbench
Creación de tablas y relaciones en mysql workbenchCreación de tablas y relaciones en mysql workbench
Creación de tablas y relaciones en mysql workbench
 
Normalización de Base de Datos
Normalización de Base de DatosNormalización de Base de Datos
Normalización de Base de Datos
 
Unidad 2 ensamblador
Unidad 2   ensambladorUnidad 2   ensamblador
Unidad 2 ensamblador
 
Diagramas de caso de uso
Diagramas de caso de usoDiagramas de caso de uso
Diagramas de caso de uso
 
Taller de Base de Datos - Unidad 6 SQL procedural
Taller de Base de Datos - Unidad 6 SQL proceduralTaller de Base de Datos - Unidad 6 SQL procedural
Taller de Base de Datos - Unidad 6 SQL procedural
 
Modelo de prototipo
Modelo de prototipoModelo de prototipo
Modelo de prototipo
 
Transacciones
TransaccionesTransacciones
Transacciones
 
5. Ejercicios normalización
5. Ejercicios normalización5. Ejercicios normalización
5. Ejercicios normalización
 
Procedimientos almacenados en MySQL
Procedimientos almacenados en MySQLProcedimientos almacenados en MySQL
Procedimientos almacenados en MySQL
 
Bases de Datos NoSQL
Bases de Datos NoSQLBases de Datos NoSQL
Bases de Datos NoSQL
 
Comandos básicos para bases de datos mysql y workbench
Comandos básicos para bases de datos mysql y workbenchComandos básicos para bases de datos mysql y workbench
Comandos básicos para bases de datos mysql y workbench
 
Taller de Base de Datos - Unidad 7 Conectividad
Taller de Base de Datos - Unidad 7 ConectividadTaller de Base de Datos - Unidad 7 Conectividad
Taller de Base de Datos - Unidad 7 Conectividad
 
Programación MySQL-Ejercicios
Programación MySQL-EjerciciosProgramación MySQL-Ejercicios
Programación MySQL-Ejercicios
 
Comandos ddl
Comandos ddlComandos ddl
Comandos ddl
 
Cuestionario
CuestionarioCuestionario
Cuestionario
 
Procedimientos almacenados
Procedimientos almacenadosProcedimientos almacenados
Procedimientos almacenados
 
Unidad 1.2 A IntroduccióN A Los Proceso De Software Modelos Tradicionales
Unidad 1.2 A IntroduccióN A Los Proceso De Software   Modelos TradicionalesUnidad 1.2 A IntroduccióN A Los Proceso De Software   Modelos Tradicionales
Unidad 1.2 A IntroduccióN A Los Proceso De Software Modelos Tradicionales
 

Andere mochten auch

Funciones y procedimientos en SQL
Funciones y procedimientos en SQLFunciones y procedimientos en SQL
Funciones y procedimientos en SQLRonald Rivas
 
Procedimientos almacenados
Procedimientos almacenadosProcedimientos almacenados
Procedimientos almacenadosbat1820
 
Capa_datos_Con_procedimientos_almacenados
Capa_datos_Con_procedimientos_almacenadosCapa_datos_Con_procedimientos_almacenados
Capa_datos_Con_procedimientos_almacenadosUNACAR
 
Procedimientos Almacenados
Procedimientos AlmacenadosProcedimientos Almacenados
Procedimientos Almacenadosiluijo
 

Andere mochten auch (7)

7.1. procedimientos almacenados
7.1.  procedimientos almacenados7.1.  procedimientos almacenados
7.1. procedimientos almacenados
 
Taller Tablas Dinámicas Excel 2010
Taller Tablas Dinámicas Excel 2010Taller Tablas Dinámicas Excel 2010
Taller Tablas Dinámicas Excel 2010
 
Funciones y procedimientos en SQL
Funciones y procedimientos en SQLFunciones y procedimientos en SQL
Funciones y procedimientos en SQL
 
Procedimientos almacenados
Procedimientos almacenadosProcedimientos almacenados
Procedimientos almacenados
 
Capa_datos_Con_procedimientos_almacenados
Capa_datos_Con_procedimientos_almacenadosCapa_datos_Con_procedimientos_almacenados
Capa_datos_Con_procedimientos_almacenados
 
Curso HTML 5 & jQuery - Leccion 4
Curso HTML 5 & jQuery - Leccion 4Curso HTML 5 & jQuery - Leccion 4
Curso HTML 5 & jQuery - Leccion 4
 
Procedimientos Almacenados
Procedimientos AlmacenadosProcedimientos Almacenados
Procedimientos Almacenados
 

Ähnlich wie Sql procedimientos-almacenados (20)

Procedimientos almacenados
Procedimientos almacenadosProcedimientos almacenados
Procedimientos almacenados
 
Unidad 4
Unidad 4Unidad 4
Unidad 4
 
lenguaje transact
lenguaje transactlenguaje transact
lenguaje transact
 
lenguaje transact
lenguaje transactlenguaje transact
lenguaje transact
 
Diapositivas de n capas en visual net 2017
Diapositivas de n capas en visual net 2017Diapositivas de n capas en visual net 2017
Diapositivas de n capas en visual net 2017
 
103305862 t-sql
103305862 t-sql103305862 t-sql
103305862 t-sql
 
t-sql
t-sqlt-sql
t-sql
 
TRANSACCIONES, TRIGGERS, PROCEDIMIENTOS ALMACENADOS: DB2/IBM
TRANSACCIONES, TRIGGERS, PROCEDIMIENTOS ALMACENADOS: DB2/IBM   TRANSACCIONES, TRIGGERS, PROCEDIMIENTOS ALMACENADOS: DB2/IBM
TRANSACCIONES, TRIGGERS, PROCEDIMIENTOS ALMACENADOS: DB2/IBM
 
Pa
PaPa
Pa
 
PROCEDIMIENTOS ALMACENADOS
PROCEDIMIENTOS ALMACENADOSPROCEDIMIENTOS ALMACENADOS
PROCEDIMIENTOS ALMACENADOS
 
Exposición
ExposiciónExposición
Exposición
 
TRANSACT-SQL
TRANSACT-SQLTRANSACT-SQL
TRANSACT-SQL
 
Exposición
ExposiciónExposición
Exposición
 
SESION 05.pdf
SESION 05.pdfSESION 05.pdf
SESION 05.pdf
 
Programacion de base de datos - unidad 3 Programacion de base de datos
Programacion de base de datos - unidad 3 Programacion de base de datosProgramacion de base de datos - unidad 3 Programacion de base de datos
Programacion de base de datos - unidad 3 Programacion de base de datos
 
Data warehouse
Data warehouseData warehouse
Data warehouse
 
Data warehouse
Data warehouseData warehouse
Data warehouse
 
Data werehousing
Data werehousingData werehousing
Data werehousing
 
Lenguaje transact sql
Lenguaje transact sqlLenguaje transact sql
Lenguaje transact sql
 
Ms SQL Server
Ms SQL ServerMs SQL Server
Ms SQL Server
 

Sql procedimientos-almacenados

  • 1. LA SENTENCIA JOIN La sentencia JOIN en SQL permite combinar registros de dos o más tablas en una base de datos relacional. En el Lenguaje de Consultas Estructurado (SQL), hay tres tipo de JOIN: interno, externo, y cruzado. Todas las explicaciones que están a continuación utilizan las siguientes dos tablas para ilustrar el efecto de diferentes clases de uniones JOIN. Combinación interna (INNER JOIN): Con esta operación es calculado el producto cruzado de todos los registros; así cada registro en la tabla A es combinado con cada registro de la tabla B; pero sólo permanecen aquellos registros en la tabla combinada que satisfacen las condiciones que se especifiquen Las dos consultas siguientes son similares, y se realizan de manera explicita (A) e implícita (B). A. Ejemplo de la sentencia INNER JOIN explícita: SELECT * FROM empleado INNER JOIN departamento ON empleado.IDdepartamento = departamento.IDdepartamento B. Ejemplo de la sentencia INNER JOIN implícita: SELECT * FROM empleado, departamento WHERE empleado.IDdepartamento = departamento.IDDepartamento Resultados:
  • 2. PROCEDIMIENTOS ALMACENADOS EN SQL SEVER 2000 Que Son Los Procedimientos Almacenados? Un procedimiento almacenado (store procedure) es un programa (o procedimiento) el cual es almacenado físicamente en una base de datos. Generalmente son escritos en un lenguaje de bases de datos propietario como SQL. La ventaja de un procedimiento almacenado es que al ser ejecutado, en respuesta a una petición de usuario, es ejecutado directamente en el motor de bases de datos, el cual usualmente corre en un servidor separado. Como tal, posee acceso directo a los datos que necesita manipular y solo necesita enviar sus resultados de regreso al usuario, deshaciéndose de la sobrecarga resultante de comunicar grandes cantidades de datos salientes y entrantes. TIPOS DE PROCEDIMIENTOS ALMACENADOS • Procedimientos almacenados definidos por el usuario: o Los procedimientos almacenados son módulos o rutinas que encapsulan código para su reutilización. Un procedimiento almacenado puede incluir parámetros de entrada, devolver resultados tabulares o escalares y mensajes para el cliente, invocar instrucciones de lenguaje de definición de datos (DDL) e instrucciones de lenguaje de manipulación de datos (DML), así como devolver parámetros de salida. En SQL Server 2008 existen dos tipos de procedimientos almacenados: Transact-SQL o CLR • Transact-SQL o Un procedimiento almacenado Transact-SQL es una colección guardada de instrucciones Transact-SQL que puede tomar y devolver los parámetros proporcionados por el usuario. Por ejemplo, un procedimiento almacenado puede contener las instrucciones necesarias para insertar una nueva fila en una o más tablas según la información suministrada por la aplicación cliente o es posible que el procedimiento almacenado devuelva datos de la base de datos a la aplicación cliente. Por ejemplo, una aplicación Web de comercio electrónico puede utilizar un procedimiento almacenado para devolver información acerca de determinados productos en función de los criterios de búsqueda especificados por el usuario en línea. • CLR o Un procedimiento almacenado CLR es una referencia a un método Common Language Runtime (CLR) de Microsoft .NET Framework que puede aceptar y devolver parámetros suministrados por el usuario. Se implementan como métodos públicos y estáticos en una clase de un ensamblado de .NET Framework.Para obtener más información, vea Procedimientos almacenados CLR (en inglés).
  • 3. Ejemplos: • Procedimiento almacenado para guardar un nuevo cliente • Procedimiento almacenado para modificar un cliente • Procedimiento almacenado para eliminar un cliente • CREATE PROCEDURE spCliente_N @dniruc varchar(11), @compania varchar(20), @contacto varchar(30), @ciudad varchar(20), @direccion varchar(30), @telefono varchar(20), @email varchar(20), @usuario varchar(20), @clave varchar(20), @observacion varchar(50) as Insert into clientes values(@dniruc,@compania,@contacto,@ciudad,@direccion,@telefono,@email,@usu ario,@clave,@observacion) GO CREATE PROCEDURE spCliente_M @dniruc varchar(11), @compania varchar(20), @contacto varchar(30), @ciudad varchar(20), @direccion varchar(30), @telefono varchar(20), @email varchar(20), @usuario varchar(20), @clave varchar(20), @observacion varchar(50) as Update clientes set dniruc = @dniruc, compania = @compania, contacto = @contacto, ciudad = @ciudad, direccion = @direccion, telefono = @telefono, email = @email, usuario = @usuario, clave = @clave, observacion = @observacion where dniruc = @dniruc GO CREATE PROCEDURE spCliente_E @dniruc char(11) as DELETE FROM clientes WHERE dniruc = @dniruc GO
  • 4. • Procedimiento almacenado para buscar clientes • Procedimiento almacenado para buscar un producto ya sea por código y/o descripcion EJECUTAR UN PROCEDIMIENTO ALMACENADO EN EL ANALIZADOR DE CONSULTAS DE SQL SERVER 2000 exec spCliente_N '12547854','flores srl',’arturo’,’pucallpa’,’sdsd’,’595959’, ‘saa@hotmail.com’,’sa’,’sa’,’xxx’ CREATE PROCEDURE spCliente_BC AS SELECT * FROM clientes order by compania GO CREATE PROCEDURE spDInventario_CD @vcodprod char(10), @vdesP varchar(50) AS if @vcodprod ='' and @vdesP ='' begin SELECT * from detalle_inv end if @vcodprod <>'' and @vdesP <>'' begin SELECT * from detalle_inv WHERE codprod= @vcodprod and des= @vdesP end if @vcodprod <>'' or @vdesP <>'' begin SELECT * from detalle_inv WHERE codprod= @vcodprod or des= @vdesP end GO