Recherche…


Commencer

Cette section décrit une base DDL (= « D ata D ÉFINITION L angue ») commande pour créer une base de données, une table dans une base de données, une vue et enfin une procédure stockée.


Créer une base de données

La commande SQL suivante crée une nouvelle base de données Northwind sur le serveur actuel, à l'aide du chemin d'accès 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

Remarque: Une base de données T-SQL se compose de deux fichiers, le fichier de base de données *.mdf et son journal de transactions *.ldf . Les deux doivent être spécifiés lors de la création d'une nouvelle base de données.


Créer une table

La commande SQL suivante crée une nouvelle table Categories dans la base de données en cours, à l'aide du schéma dbo (vous pouvez changer de contexte de base de données avec 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

Créer une vue

La commande SQL suivante crée une nouvelle vue Summary_of_Sales_by_Year dans la base de données en cours, à l'aide du schéma dbo (vous pouvez changer le contexte de la base de données avec 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

Cela rejoindra les tables Orders et [Order Subtotals] pour afficher les colonnes ShippedDate , OrderID et Subtotal . Comme la table [Order Subtotals] a un nom vide dans la base de données Northwind, elle doit être placée entre crochets.


Créer une procédure

La commande SQL suivante crée une nouvelle procédure stockée CustOrdersDetail dans la base de données en cours, à l'aide du schéma dbo (vous pouvez changer de contexte de base de données avec 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

Cette procédure stockée, après sa création, peut être appelée comme suit:

exec dbo.MyCustOrdersDetail 10248

qui retournera tous les détails de la commande avec @ OrderId = 10248 (et la quantité> = 0 par défaut). Ou vous pouvez spécifier le paramètre facultatif

exec dbo.MyCustOrdersDetail 10248, 10

qui ne renverra que les commandes avec une quantité minimum de 10 (ou plus).



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow