Cómo crear tablas, vistas, procedimientos almacenados y funciones en SQL Server 2014


En un anterior artículo hablé acerca de la instalación de SQL 2014 Express. Pues bien, en esta ocasión continuaré con esta introducción a SQL Server 2014 abordando el tema de la creación de algunos objetos básicos. Consulta el índice para ir directamente al tema de tu interés.

Requerimientos:


Índice

Cómo crear Tablas en SQL Server 2014
Cómo crear Vistas en SQL Server 2014
Cómo crear Procedimientos Almacenados en SQL Server 2014
Cómo crear Funciones en SQL Server 2014

Cómo crear Tablas en SQL Server 2014

Existen dos maneras comunes de crear una tabla:

  • Con el entorno gráfico de SQL Server Management Studio (SSMS)
    • Expande la base de datos. En este caso, AdventureWorks2014
    • Clic derecho en ‘Tablas’ > Tabla…
    • Crear tabla
    • Podrás ver que puedes crear la tabla en el panel principal. Yo crearé una tabla con las siguientes características:
    • Columnas de tabla
    • Clic en el símbolo de guardar. Elige un nombre para la tabla y haz clic en ‘Aceptar’. Yo llamé mi tabla ‘comidas’.
    • Ahora, haz clic derecho en ‘Tablas’ > Actualizar. Ahora deberías poder ver tu tabla:Comidas

  • Con una consulta SQL
    • Haz clic en ‘Nueva consulta’
    • Ahora crearemos una tabla con las siguientes características:
      • Nombre: alumnos
      • Columnas: ID (int), PrimerNombre (varchar(25)), SegundoNombre (varchar(25)), Apellido (varchar(25)), Curso (int), Nota (int).

La sintaxis para esta expresión SQL es:

CREATE TABLE <nombre>
   (Columna1 <tipo> <otras opciones>,
    Columna2 <tipo> <otras opciones>,
    Columna3 <tipo> <otras opciones>)
GO 

Por tanto, la consulta se verá así:

CREATE TABLE dbo.alumnos
   (ID int PRIMARY KEY NOT NULL,
    PrimerNombre varchar(25),
    SegundoNombre varchar(25),
    Apellido varchar(25),
    Curso int,
    Nota int)
GO

Ahora, haz clic en ‘Ejecutar’.
Ejecutar


    • Actualiza ‘Tablas’. Deberías ver tu tabla creada:

Alumnos

Cómo crear Vistas en SQL Server 2014

Para crear vistas, también se puede utilizar la interfaz gráfica, pero la construcción de este tipo de objetos a través de consultas ayuda a comprender su funcionamiento, así que ese será el método que cubriré ahora.

La sintaxis para crear vistas es la siguiente:

CREATE VIEW <nombre>
AS
<consulta>

Sí, es así de sencillo. Las vistas son una suerte de consultas guardadas que se pueden guardar y consultar posteriormente. Ahora crearemos una vista simple usando la base de datos AdventureWorks 2014. Crearé una vista que devuelva el número telefónico y el tipo de número telefónico de todas las personas cuyo ID esté entre 10 y 20, y la llamaré phoneNumbers. Por tanto, la consulta sería la siguiente:

CREATE VIEW phoneNumbers
AS
SELECT PhoneNumber, PhoneNumberTypeID
FROM Person.PersonPhone
INNER JOIN Person.Person
ON Person.Person.BusinessEntityID = Person.PersonPhone.BusinessEntityID
WHERE Person.Person.BusinessEntityID > 9 AND Person.Person.BusinessEntityID < 21

Haz clic en ‘Ejecutar’ y espera el mensaje de confirmación:



Ahora, supongamos que necesitamos los teléfonos de tipo 3 de todas las personas cuyos IDs estén entre 10 y 20. Para esto, podemos consultar directamente la vista que creamos de la siguiente manera:



Como ven, se trata a la vista como si fuera una tabla.

Cómo crear Procedimientos Almacenados en SQL Server 2014

Los procedimientos almacenados se crean con la siguiente sintaxis:

CREATE PROCEDURE ;
@variable1 ,
@variable2 >
AS


Recuerda que es posible pasar parámetros a los procedimientos almacenados. Ahora crearemos un procedimiento almacenado llamado ‘sp_phonesByLastName’ que nos devuelva el teléfono del apellido que le pasemos como parámetro:

CREATE PROCEDURE sp_phonesByLastName
@lastName nvarchar(50)
AS
SELECT PhoneNumber
FROM Person.PersonPhone
INNER JOIN Person.Person
ON Person.PersonPhone.BusinessEntityID = Person.Person.BusinessEntityID
WHERE Person.Person.LastName = @lastName
GO

Ahora presiona ‘Ejecutar’. Con eso se habrá creado el procedimiento almacenado. Para probarlo, ejecuta la siguiente consulta:

exec sp_phonesByLastName 'Smith'


Eso retornará los teléfonos de las personas con apellido ‘Smith’.
Para encriptar procedimientos almacenados y desencriptarlos, revisa nuestro artículo sobre encriptación y desencriptación.

Cómo crear Funciones en SQL Server 2014

Existen 2 clases de funciones en SQL Server:


  • Funciones escalares: estas funciones devuelven un solo valor. La sintaxis para crearlas es la siguiente:

CREATE FUNCTION (@variable1 )
RETURNS ;
AS 
BEGIN
    >
    RETURN @ret;
END;
GO

Ahora crearemos una función escalar de nombre ‘testFunction’ que devuelva la suma de los precios unitarios de una SalesOrderID en particular. Por tanto, la consulta debería ser:

CREATE FUNCTION testFunction(@orderID int)
RETURNS int
AS
BEGIN
DECLARE @resultado int;
SELECT @resultado = SUM(UnitPrice)
FROM Sales.SalesOrderDetail
WHERE SalesOrderID = @orderID
RETURN @resultado;
END
GO

Ahora presiona ‘Ejecutar’ para que se cree la función.


Para usar la función, ejecuta la siguiente consulta:

SELECT dbo.testFunction(43659) as suma


  • Funciones con valores de tabla: Estas funciones devuelven una tabla. La sintaxis para crear este tipo de funciones es:

CREATE FUNCTION <nombre> (@variable1 <tipo>)
RETURNS TABLE
AS
RETURN 
(
    <consulta>
);

En este caso crearemos una función con valores de tabla llamada ‘testFunction2’, que devuelva una tabla con las columnas ‘CarrierTrackerNumber’, ‘OrderQty’ y ‘ProductID’ correspondientes a un SalesOrderID que se pasará como parámetro. La consulta es como sigue:

CREATE FUNCTION testFunction2 (@salesID int)
RETURNS TABLE
AS
RETURN 
(
    SELECT CarrierTrackingNumber, OrderQty, ProductID
    FROM Sales.SalesOrderDetail
    WHERE SalesOrderID = @salesID
);

Para usar la función con valores de tabla, puedes usar la siguiente consulta:

SELECT * FROM dbo.testFunction2(43661)

El siguiente artículo trata acerca de las copias de seguridad o Backups en SQL Server. Puede consultarlo aquí: https://elpaladintecnologico.blogspot.com/2016/06/backups-o-copias-de-seguridad-en-sql.html

0 nhận xét:

Đăng nhận xét