Buscar..


Empezando

Esta sección describe algunos comandos básicos de DDL (= " D ata D efinition L anguage") para crear una base de datos, una tabla dentro de una base de datos, una vista y finalmente un procedimiento almacenado.


Crear base de datos

El siguiente comando SQL crea una nueva base de datos Northwind en el servidor actual, utilizando la ruta C:\Program Files\Microsoft SQL Server\MSSQL11.INSTSQL2012\MSSQL\DATA\ :

USE [master]
GO

CREATE DATABASE [Northwind]
 CONTAINMENT = NONE
 ON  PRIMARY 
 ( 
  NAME = N'Northwind', 
  FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL11.INSTSQL2012\MSSQL\DATA\Northwind.mdf' , SIZE = 5120KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB 
 )
 LOG ON 
 ( 
  NAME = N'Northwind_log', 
  FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL11.INSTSQL2012\MSSQL\DATA\Northwind_log.ldf' , SIZE = 1536KB , MAXSIZE = 2048GB , FILEGROWTH = 10%
 )
GO

ALTER DATABASE [Northwind] SET COMPATIBILITY_LEVEL = 110
GO

Nota: una base de datos T-SQL consta de dos archivos, el archivo de base de datos *.mdf y su registro de transacciones *.ldf . Ambos deben especificarse cuando se crea una nueva base de datos.


Crear mesa

El siguiente comando SQL crea una nueva tabla Categories en la base de datos actual, usando el esquema dbo (puede cambiar el contexto de la base de datos con Use <DatabaseName> ):

CREATE TABLE dbo.Categories(
    CategoryID int IDENTITY NOT NULL,
    CategoryName nvarchar(15) NOT NULL,
    Description ntext NULL,
    Picture image NULL,
      CONSTRAINT PK_Categories PRIMARY KEY CLUSTERED 
      (
         CategoryID ASC
      )
      WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, 
            ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY
) ON PRIMARY TEXTIMAGE_ON PRIMARY

Crear vista

El siguiente comando SQL crea una nueva vista Summary_of_Sales_by_Year en la base de datos actual, usando el esquema dbo (puede cambiar el contexto de la base de datos con Use <DatabaseName> ):

CREATE VIEW dbo.Summary_of_Sales_by_Year AS
  SELECT ord.ShippedDate, ord.OrderID, ordSub.Subtotal
  FROM Orders ord
  INNER JOIN [Order Subtotals] ordSub ON ord.OrderID = ordSub.OrderID

Esto unirá las tablas Orders y [Order Subtotals] para mostrar las columnas ShippedDate , OrderID y Subtotal . Debido a que la tabla [Order Subtotals] tiene un espacio en blanco en su nombre en la base de datos de Northwind, debe estar entre corchetes.


Crear procedimiento

El siguiente comando SQL crea un nuevo procedimiento almacenado CustOrdersDetail en la base de datos actual, usando el esquema dbo (puede cambiar el contexto de la base de datos con Use <DatabaseName> ):

CREATE PROCEDURE dbo.MyCustOrdersDetail @OrderID int, @MinQuantity int=0
AS BEGIN
  SELECT ProductName,
    UnitPrice=ROUND(Od.UnitPrice, 2),
    Quantity,
    Discount=CONVERT(int, Discount * 100), 
    ExtendedPrice=ROUND(CONVERT(money, Quantity * (1 - Discount) * Od.UnitPrice), 2)
  FROM Products P, [Order Details] Od
  WHERE Od.ProductID = P.ProductID and Od.OrderID = @OrderID 
  and Od.Quantity>=@MinQuantity
END

Este procedimiento almacenado, una vez creado, se puede invocar de la siguiente manera:

exec dbo.MyCustOrdersDetail 10248

que devolverá todos los detalles del pedido con @ OrderId = 10248 (y la cantidad> = 0 como predeterminado). O puede especificar el parámetro opcional

exec dbo.MyCustOrdersDetail 10248, 10

que devolverá solo pedidos con una cantidad mínima de 10 (o más).



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow