方法:クエリを使用して新しいデータベース オブジェクトを作成する
スクリプトを使用して、ビュー、ストアド プロシージャ、関数、トリガー、ユーザー定義型などを作成または編集する場合は、Transact-SQL エディターを使用します。 Transact-SQL エディターは IntelliSense およびその他の言語サポートを提供します。 詳しくは、「Transact-SQL エディターを使用したスクリプトの編集と実行」をご覧ください。
Transact-SQL エディターは、[コードの表示] コンテキスト メニューを使用して、接続されているデータベースまたはプロジェクトのデータベース エンティティを開くと起動されます。 SQL Server オブジェクト エクスプローラーの [新しいクエリ] コンテキスト メニューを使用するときと、データベース プロジェクトに新しいスクリプト オブジェクトを追加するときにも、このエディターが自動的に開きます。 データベースに対するクエリを実行するときに、まだデータベースに接続していない場合にも、[SQL] メニューの [Transact-SQL エディター] メニューを選択して [新しいクエリ接続] ダイアログ ボックスからデータベースに接続し、Transact-SQL エディターを起動できます。
Transact-SQL クエリを使用して新しいテーブルを作成するには
Trade データベース ノードを右クリックし、 [新しいクエリ] をクリックします。
スクリプト ペインに次のコードを貼り付けます。
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]) );
Transact-SQL エディターのツール バーにある [クエリの実行] ボタンをクリックして、このクエリを実行します。
SQL Server オブジェクト エクスプローラーで Trade データベースを右クリックし、 [更新] をクリックします。 新しく Fruits テーブルがデータベースに追加されていることを確認します。
新しい関数を作成するには
現在の Transact-SQL エディターで、コードを次のコードに置き換えます。
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 p where p.SupplierId = @SupplierId RETURN END
この関数は、
Products
テーブルの行のうち、SupplierId
の値が指定されたパラメーターと等しい行をすべて返します。 Transact-SQL エディターのツール バーにある [クエリの実行] ボタンをクリックして、このクエリを実行します。SQL Server オブジェクト エクスプローラーで、Trade ノードの下にある [プログラミング] ノードと [関数] ノードを展開します。 先ほど作成した新しい関数が、 [テーブル値関数] の下に表示されています。
新しいビューを作成するには
現在の Transact-SQL エディターで、コードを次のコードに置き換えます。 次に、エディターの上にある [クエリの実行] をクリックして、このクエリを実行します。
CREATE VIEW [dbo].PerishableFruits AS SELECT p.Id, p.Name FROM dbo.Products p join dbo.Fruits f on f.Id = p.Id where f.Perishable = 1
SQL Server オブジェクト エクスプローラーで、Trade ノードの下にある [ビュー] ノードを展開して、先ほど作成した新しいビューを確認します。
参照
テーブルとリレーションシップの管理およびエラーの修正
Transact-SQL エディターを使用したスクリプトの編集と実行