You are on page 1of 7

Analisis  

y Desarrollo de Sistemas de Informacion

Presentado a: Sandra Rueda

Presentado por: Jennifer Bolaños  Gómez

40132
ADSI

BOGOTA DC
2010

SUBCONSULTA
SUBCONSULTAS

Concepto:
Consulta que se hace sobre los datos que nos da otra consulta.  Una
subconsulta es una sentencia SELECT que aparece dentro de otra
sentencia SELECT. Normalmente se utilizan para filtrar una
clausula WHERE o HAVING con el conjunto de resultados de la
subconsulta, aunque también pueden utilizarse en la lista de selección.

Sintaxis:
 SELECT______ 
   FROM________ 
   WHERE CONDICION OPERADOR (SELECT ______ 
      FROM ___________ 
      WHERE CONDICION OPERADOR

Ejemplo:
SELECT * 
FROM JUGADORES 
WHERE EQUIPO_NOM IN (SELECT EQUIPO_NOM 
FROM SEDE 
WHERE LOC IN ('MADRID', 'BARCELONA');
FROM SEDE 
WHERE LOC IN ('MADRID', 'BARCELONA');

PORCEDIMIENTOS   ALMACENADOS

 Concepto:
Un procedimiento es un programa dentro de la base de datos que
ejecuta una acción o conjunto de acciones especificas.
Un procedimiento tiene un nombre, un conjunto de parámetros
(opcional) y un bloque de código.
En Transact SQL los procedimientos almacenados pueden devolver
valores (numerico entero) o conjuntos de resultados.
Para crear un procedimiento almacenado debemos emplear la
sentencia CREATE PROCEDURE.

Sintaxis
Créate procedure
as
alter procedure
as   

Ejemplo:

 CREATE PROCEDURE spu_addCliente @nombre


varchar(100),

@apellido1 varchar(100),
@apellido2 varchar(100),
@nifCif varchar(20),
@fxNaciento datetime
AS

 INSERT INTO CLIENTES

(nombre, apellido1, apellido2, nifcif, fxnacimiento) VALUES


(@nombre, @apellido1, @apellido2, @nifCif, @fxNaciento

Vistas:
Concepto:
Una vista es esencialmente una consulta almacenada que devuelve un
conjunto de resultados y a la que se le pone un nombre. Una vista es
una “tabla virtual”, aparece como una tabla más del esquema, aunque
realmente no lo es.

Sintaxis:
La sintaxis general para crear una vista es la siguiente:
CREATE VIEW view_name [(column_list)]
AS sentencia_select
La idea es muy simple, solamente le damos nombre (view_name) a
una consulta. Opcionalmente, los atributos de la relación resultante de
la sentencia_selectpueden renombrarse mediante etiquetas
en column_list.

Ejemplo:

CREATE VIEW resumenproductos AS


select p.id, p.nombre, sum(cantidad) AS total
from producto as p, lineas_pedido as l
where (l.producto = p.id)
group by l.producto order by total desc

TRIGGER

Concepto:
Un trigger( o desencadenador) es una clase especial de procedimiento
almacenado que se ejecuta automáticamente cuando se produce un
evento en el servidor de bases de datos.
    SQL Server proporciona los siguientes tipos de triggers:

 Trigger DML, se ejecutan cuando un usuario intenta modificar


datos mediante un evento de lenguaje de manipulación de datos
(DML). Los eventos DML son instrucciones INSERT, UPDATE o
DELETE de una tabla o vista.
 Trigger DDL, se ejecutan en respuesta a una variedad de
eventos de lenguaje de definición de datos (DDL). Estos eventos
corresponden principalmente a instrucciones CREATE, ALTER y
DROP de Transact-SQL, y a determinados procedimientos
almacenados del sistema que ejecutan operaciones de tipo DDL.

Sintaxis:

CREATE TRIGGER <Trigger_Name, sysname, Trigger_Name>


ON <Table_Name, sysname, Table_Name>
AFTER <Data_Modification_Statements, ,
INSERT,DELETE,UPDATE>
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for trigger here
END

Ejemplo:

CREATE TRIGGER TR_CUENTAS


ON CUENTAS
AFTER UPDATE
AS
BEGIN
-- SET NOCOUNT ON impide que se generen mensajes de texto
-- con cada instrucción
SET NOCOUNT ON;
INSERT INTO HCO_SALDOS
(IDCUENTA, SALDO, FXSALDO)
SELECT IDCUENTA, SALDO, getdate()
FROM INSERTED
END

Funcion (Crear Funcion en SQL)


Concepto:
 Funciones Escalares
Las funciones escalares vuelven un tipo de los datos tal como int,
money, varchar, real, etc. Pueden ser utilizadas en cualquier lugar
incluso incorporada dentro de sentencias SQL. La sintaxis para una
función escalar es la siguiente:

Sintaxis
CREATE FUNCTION [owner_name.] function_name
( [{ @parameter_name  scalar_parameter_type [ = default]} [,..n]])
RETURNS scalar_return_type
[WITH <function_option> >::={SCHEMABINDING | ENCRYPTION]
[AS]
BEGIN
function_body
RETURN scalar_expression
END

Ejemplo:

CREATE FUNCTION dbo.Cube( @fNumber float)


RETURNS float
AS
BEGIN
RETURN(@fNumber * @fNumber * @fNumber)
END

Surprisingly, user-defined functions (UDFs) support recursion.  Here is


an
SQL Server 2000 UDF using the standard factorial example:

CREATE FUNCTION dbo.Factorial ( @iNumber int )


RETURNS INT
AS
BEGIN
DECLARE @i int
IF @iNumber <= 1
SET @i = 1
ELSE
SET @i = @iNumber * dbo.Factorial( @iNumber - 1 )
RETURN (@i)
END

Funciones de tabla en línea


Las funciones de tabl en linea son las funciones que devuelven la
salida de una simple declaración SELECT. La salida se puede utilizar
adentro de joins o querys como si fuera un tabla de estándar.

Sintaxis
CREATE FUNCTION [owner_name.] function_name
( [{ @parameter_name  scalar_parameter_type [ = default]} [,..n]])
RETURNS TABLE
[WITH <function_option>::={SCHEMABINDING | ENCRYPTION}]
RETURN [(] select_statement [)]

Ejemplo

CREATE FUNCTION dbo.AuthorsForState(@cState char(2) )


RETURNS TABLE
AS
RETURN (SELECT * FROM Authors WHERE state = @cState)

You might also like