Ricerca…


Iniziare

Questa sezione descrive alcune DDL base (= "D ata D efinizione L anguage") comanda di creare un database, una tabella all'interno di un database, una vista e infine una procedura memorizzata.


Crea Database

Il seguente comando SQL crea un nuovo database Northwind sul server corrente, utilizzando il percorso 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: un database T-SQL è composto da due file, il file di database *.mdf e il suo log delle transazioni *.ldf . Entrambi devono essere specificati quando viene creato un nuovo database.


Crea tabella

Il seguente comando SQL crea una nuova tabella Categories nel database corrente, utilizzando lo schema dbo (puoi cambiare contesto di database 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

Crea vista

Il seguente comando SQL crea una nuova vista Summary_of_Sales_by_Year nel database corrente, utilizzando lo schema dbo (puoi cambiare contesto di database 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

Questo si unirà tabelle Orders e [Order Subtotals] per visualizzare le colonne ShippedDate , OrderID e Subtotal . Poiché la tabella [Order Subtotals] ha uno spazio vuoto nel suo nome nel database Northwind, deve essere racchiusa tra parentesi quadre.


Crea procedura

Il seguente comando SQL crea una nuova stored procedure CustOrdersDetail nel database corrente, utilizzando lo schema dbo (è possibile cambiare il contesto del database 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

Questa stored procedure, dopo che è stata creata, può essere richiamata come segue:

exec dbo.MyCustOrdersDetail 10248

che restituirà tutti i dettagli dell'ordine con @ OrderId = 10248 (e quantità> = 0 come predefinito). Oppure puoi specificare il parametro opzionale

exec dbo.MyCustOrdersDetail 10248, 10

che restituirà solo ordini con una quantità minima di 10 (o più).



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow