Création, modification et suppression de vues

Dans SMO (SQL Server Management Objects), les vues SQL Server sont représentées par l'objet View.

La propriété TextBody de l'objet View définit la vue. Cela revient à utiliser l'instruction Transact-SQL SELECT pour créer une vue.

Exemple

Pour utiliser un exemple de code fourni, vous devez sélectionner l'environnement, le modèle et le langage de programmation à utiliser pour créer votre application. Pour plus d'informations, consultez Procédure : créer un projet SMO Visual Basic dans Visual Studio .NET ou Procédure : créer un projet SMO Visual C# dans Visual Studio .NET.

Création, modification et suppression d'une vue en Visual Basic

Cet exemple de code montre comment créer une vue de deux tables en utilisant une jointure interne. La vue est créée en utilisant le mode texte, donc la propriété TextHeader doit être définie.

'Connect to the local, default instance of SQL Server.
Dim srv As Server
srv = New Server
'Reference the AdventureWorks2008R2 database.
Dim db As Database
db = srv.Databases("AdventureWorks2008R2")
'Define a View object variable by supplying the parent database, view name and schema in the constructor.
Dim myview As View
myview = New View(db, "Test_View", "Sales")
'Set the TextHeader and TextBody property to define the view.
myview.TextHeader = "CREATE VIEW [Sales].[Test_View] AS"
myview.TextBody = "SELECT h.SalesOrderID, d.OrderQty FROM Sales.SalesOrderHeader AS h INNER JOIN Sales.SalesOrderDetail AS d ON h.SalesOrderID = d.SalesOrderID"
'Create the view on the instance of SQL Server.
myview.Create()
'Remove the view.
myview.Drop()

Création, modification et suppression d'une vue en Visual C#

Cet exemple de code montre comment créer une vue de deux tables en utilisant une jointure interne. La vue est créée en utilisant le mode texte, donc la propriété TextHeader doit être définie.

{
        //Connect to the local, default instance of SQL Server. 
        Server srv; 
        srv = new Server(); 
        //Reference the AdventureWorks2008R2 database. 
        Database db; 
        db = srv.Databases["AdventureWorks2008R2"]; 
        //Define a View object variable by supplying the parent database, view name and schema in the constructor. 
        View myview; 
        myview = new View(db, "Test_View", "Sales"); 
        //Set the TextHeader and TextBody property to define the view. 
        myview.TextHeader = "CREATE VIEW [Sales].[Test_View] AS"; 
        myview.TextBody = "SELECT h.SalesOrderID, d.OrderQty FROM Sales.SalesOrderHeader AS h INNER JOIN Sales.SalesOrderDetail AS d ON h.SalesOrderID = d.SalesOrderID"; 
        //Create the view on the instance of SQL Server. 
        myview.Create(); 
        //Remove the view. 
        myview.Drop(); 
        }

Création, modification et suppression d'une vue dans PowerShell

Cet exemple de code montre comment créer une vue de deux tables en utilisant une jointure interne. La vue est créée en utilisant le mode texte, donc la propriété TextHeader doit être définie.

# Set the path context to the local, default instance of SQL Server and get a reference to AdventureWorks2008R2
CD \sql\localhost\default\databases
$db = get-item Adventureworks2008R2

# Define a View object variable by supplying the parent database, view name and schema in the constructor. 
$myview  = New-Object -TypeName Microsoft.SqlServer.Management.SMO.View `
-argumentlist $db, "Test_View", "Sales"
      
# Set the TextHeader and TextBody property to define the view. 
$myview.TextHeader = "CREATE VIEW [Sales].[Test_View] AS"
$myview.TextBody ="SELECT h.SalesOrderID, d.OrderQty FROM Sales.SalesOrderHeader AS h INNER JOIN Sales.SalesOrderDetail AS d ON h.SalesOrderID = d.SalesOrderID"
        
# Create the view on the instance of SQL Server. 
$myview.Create()

# Remove the view. 
$myview.Drop();

Voir aussi

Référence