2012-01-05 14 views
3

これが許可されているかどうかわかりませんが、もしそうなら、誰かが私にT-SQLが何であるか教えてもらえますか?私は以下を試したが役に立たなかった。SQL Server 2000のビューで列の長さを変更できますか?

alter [View_Name] 
alter column [Coln_Name] [New size/length] not null 
GO 

助けていただければ幸いです。ありがとう!

+1

元のテーブルの長さはありませんか? – Joe

+0

ビューは、名前付きアドホッククエリ以外の何ものでもありません。特定のフィールドのサイズを変更する場合は、基礎となるクエリを変更する必要があります。これはあなたがビューに*データを挿入しようとしているように感じますか? – Yuck

+0

この質問の動機は何ですか? –

答えて

5

直接ではありません。

これは列式から自動的に導出されます。 CASTビューSELECTの式を特定のデータ型にリストすることもできます。

3

基礎となる表の列の長さを変更するか、ビューを構成するSELECT文をCASTに変更するか、列を別の長さのデータ型に変更する必要があります。

1

ビューは、他のテーブルのデータを表示する方法です。通常、データは単純に基になる表にあるものなので、そこで列を変更する必要があります。

しかし、あなたはcast()やconvert()のようなことをするビューを持つことができます。ビューが使用されるたびにデータを再フェッチする必要があり、これらの操作がオーバーヘッドを追加するため、これらは一般的には悪い考えです。ビューのデザインでは、別のデータ型としてキャストするか、変換したいかを決めることができますが、オーバーヘッドがあり、元のデータは変更されません。

あなたは、現在のビューを選択したものを知っている場合は、あなたのようなものを使用することができます

Alter view Viewname[cloumn] as Select cast(original_data as varchar(n)) from Original_Table 
0

を私はちょうど同じような状況に遭遇しました。私がしたのは:

  1. ビューが見えるテーブルの列サイズを変更します。

  2. ビューを再作成するスクリプトを作成します(まだビューがない場合)。

  3. は、ビューを再作成するためのスクリプトを使用してビューを削除します。

その後、ビューの列サイズは、元のテーブルに加えた変更と同じになりました。

1

ビューは他のテーブルから派生しているため、ビューの列サイズを変更することはできません。したがって、列のサイズを変更する必要がある場合は、表の列のサイズを変更してください。列サイズの使用ALTER TABLEを変更するなど:

ALTER TABLE [TABLE_NAME]

のALTER COLUMNビューをドロップして再作成する必要があるかもしれません列のサイズを変更した後、[COLUMN_NAME] DATA_TYPE(サイズ)

もう一度。

関連する問題