3

*[アスタリスク記号] を列名のリストに変更するには? の上にマウスカーソルを置くと、列名のリストを表示できます*。スクリプトを実行せずに何かをクリックし*て名前に変更し、結果を dbo.temp テーブルに挿入することは可能ですか?

ここに画像の説明を入力

したがって、望ましい結果は次のようになります。

with A as (select 
 MyColumn1=1 
,MyColumn2=2 
,MyColumn3=3)

select 
 MyColumn1
,MyColumn2
,MyColumn3
from A
4

5 に答える 5

3

SQL Server Management Studio では、必要なことを行うことができます。

画面の左側で、データベースを展開してテーブル名を取得します。次に、テーブル名をクエリ ペインにドラッグすると、すべての列が一覧表示されます。

于 2015-12-29T12:05:05.533 に答える
2

Sql Server Management には、キーボードを使用してストアド プロシージャを実行できるオプションがあります。そのオプションを構成して、テーブルの列を一覧表示するプロシージャを実行できます。これを行う方法は次のとおりです。

ここに画像の説明を入力

「オプション」をクリックします

ここに画像の説明を入力

ご覧のように、ストアド プロシージャを実行するための多くのキーボード ショートカットがあります。たとえば、ショートカット alt+f1 でテーブルの名前を強調表示すると、テーブルのメタデータが表示されます。 「、」で区切られたテーブルの列、これは手順です:

    Create Procedure [dbo].[NS_rs_columnas]
        @Tabla Sysname,
        @Alias Char(3)=null
    AS
    Begin
        Declare @Colums Nvarchar(Max)='';

        Select 
        @Colums+=','+isnull(Ltrim(Rtrim(@Alias))+'.','')+'['+b.name+']' + CHAR(13)+CHAR(10)
        from sys.tables a
        Inner join sys.all_columns b 
        on (a.object_id=b.object_id)
        Where a.name=ltrim(rtrim(@Tabla));

        Select ' '+Substring(@Colums,2,len(@Colums)-2);
    End

したがって、その手順を実行するためのショートカットを構成することができます。

これは、テーブル名の上でショートカット ctrl+f1 を押したときの結果です。

ここに画像の説明を入力

ご覧のとおり、プロシージャには 2 つのパラメーターがあり、2 番目のパラメーターはエイリアスを送信するためのものです。これは例です。

ここに画像の説明を入力

于 2015-12-29T17:15:49.107 に答える
-1

これはワイルドカードと呼ばれ、製品コードで使用することはお勧めできません。少なくとも "TOP n" 式がないものに対して "SELECT *" を実行することも悪い習慣です。

たとえば、ワイルドカードを含むビューは、参照するテーブルのスキーマを変更した場合に適切に機能するように再構築する必要があります。

Gordon が言うように、UI を使用することも、私が好むように、列名をインテリセンスすることもできます。

UI では角かっこの使用が強制されます。これにより、特に予約済みのキーワードにちなんで名付けられたオブジェクトや数字で始まるオブジェクトの互換性が強化されます。

于 2015-12-29T16:46:58.977 に答える