3

私は面白いと思われるテーブル値パラメーターについて読んでいました..しかし、データベースでテーブルタイプを定義すると、どこに保存されるのか知りたいですか? その範囲は何ですか?そして、そのタイプをどのように変更できますか..テーブルタイプを次のように作成したとします...

CREATE TYPE DeptType AS TABLE
(
DeptId INT, DeptName VARCHAR(30)
);

今後、DeptTypeのスキーマを取得するにはどうすればよいですか? ストアド プロシージャの場合は、次のように簡単sp_helptext [ProcedureName]です。どうすれば変更できますか? このタイプの範囲は?

4

2 に答える 2

2

その範囲は何ですか?

テーブル、ビュー、ストアド プロシージャなどと同じように、スキーマに属します。使用に関しては、それが存在するのと同じデータベース内でのみ使用できます。(同じインスタンス内であっても) 別のデータベースからテーブル型を参照する方法はなく、別のデータベースで同じように宣言された 2 つのテーブル型を交換することはできません。

そして、どうすればそのタイプを変更できますか

残念ながらできません。SQL コマンドのパターンは、CREATEを使用してオブジェクトを存在させ、ALTERを使用してそのオブジェクトを変更 (およびDROP削除) することです。ALTERステートメントを見ると、がないことがわかりますALTER TYPE

あなたができる最善のことはDROP、タイプとCREATE、その変更されたフォームを使用することです。残念ながら、これを行うには、最初にすべての依存オブジェクトを削除し、次に型を削除してから作成し、次にすべての依存オブジェクトを再作成する必要があります。

于 2013-09-03T06:13:33.263 に答える