Aracılığıyla paylaş


Nasıl yapılır: Sorguları kullanarak yeni veritabanı nesneleri oluşturma

Görünümleri, saklı yordamları, işlevleri, tetikleyicileri veya kullanıcı tanımlı türleri oluşturmak veya düzenlemek için betikleri kullanmayı tercih ediyorsanız, Transact-SQL Düzenleyicisi'ni kullanabilirsiniz. Transact-SQL Düzenleyicisi IntelliSense ve diğer dil desteği sağlar. Daha fazla bilgi için bkz. Betikleri düzenlemek ve yürütmek için Transact-SQL Düzenleyicisi'ni kullanma.

bağlı bir veritabanında veya projede veritabanı varlığını açmak için Görünüm Kodu bağlam menüsünü kullandığınızda Transact-SQL Düzenleyicisi çağrılır. SQL Server Nesne Gezgini'nden Yeni Sorgu bağlam menüsünü kullandığınızda veya bir veritabanı projesine yeni bir betik nesnesi eklediğinizde otomatik olarak açılır. Veritabanına bağlı değilseniz ancak veritabanına karşı sorgu yürütmek istiyorsanız, veritabanına bağlanmak ve Transact-SQL Düzenleyicisi'ni başlatmak için SQL menüsünden Transact-SQL Düzenleyici menüsünü seçerek Yeni Sorgu Bağlantısı iletişim kutusunu da kullanabilirsiniz.

Transact-SQL sorgusu kullanarak yeni tablo oluşturma

  1. Veritabanı düğümüne Trade sağ tıklayın ve Yeni Sorgu'yu seçin.

  2. Betik bölmesinde şu kodu yapıştırın:

    CREATE TABLE [dbo].[Fruits]
    (
        [Id] INT NOT NULL,
        [Perishable] BIT DEFAULT ((1)) NULL,
        PRIMARY KEY CLUSTERED ([Id] ASC),
        FOREIGN KEY ([Id]) REFERENCES [dbo].[Products] ([Id])
    );
    
  3. Bu sorguyu çalıştırmak için Transact-SQL Düzenleyicisi araç çubuğunda Sorguyu Yürüt düğmesini seçin.

  4. Trade veritabanına sağ tıklayın ve Yenile'yi seçin. Veritabanına yeni Fruits bir tablo eklendi.

Yeni işlev oluşturma

  1. Geçerli Transact-SQL Düzenleyicisi'ndeki kodu aşağıdaki betikle değiştirin:

    CREATE FUNCTION [dbo].GetProductsBySupplier
    (@SupplierId INT)
    RETURNS
        @returntable TABLE (
            [Id] INT NOT NULL,
            [Name] NVARCHAR (128) NOT NULL,
            [Shelflife] INT NOT NULL,
            [SupplierId] INT NOT NULL,
            [CustomerId] INT NOT NULL)
    AS
    BEGIN
        INSERT @returntable
        SELECT *
        FROM Products AS p
        WHERE p.SupplierId = @SupplierId;
        RETURN;
    END
    

    Bu işlev, tablodaki Products belirtilen parametreye eşit olan SupplierId tüm satırları döndürür. Bu sorguyu çalıştırmak için Transact-SQL Düzenleyicisi araç çubuğunda Sorguyu Yürüt düğmesini seçin.

  2. SQL Server Nesne Gezgini'ndeki düğümün Trade altında Programlanabilirlik ve İşlevler düğümlerini genişletin. Oluşturduğunuz yeni işlevi Tablo değerli İşlevler altında bulabilirsiniz.

Yeni görünüm oluştur

  1. Geçerli Transact-SQL Düzenleyicisi'ndeki kodu aşağıdakilerle değiştirin. Ardından bu sorguyu çalıştırmak için düzenleyicinin üstündeki Sorguyu Yürüt düğmesini seçin.

    CREATE VIEW [dbo].PerishableFruits AS
        SELECT p.Id,
               p.Name
        FROM dbo.Products AS p
             INNER JOIN dbo.Fruits AS f
                 ON f.Id = p.Id
        WHERE f.Perishable = 1;
    
  2. SQL Server Nesne Gezgini'ndeki düğümün Trade altında, oluşturduğunuz yeni görünümü bulmak için Görünüm düğümünü genişletin.