sql >> データベース >  >> RDS >> Sqlserver

同義語のすべての列名を見つける方法

    IMHO INFORMATION_SCHEMA> これのいずれかのために 。以下は、テーブルまたはビューで機能します。

    SELECT UPPER(name)
      FROM sys.columns
      WHERE OBJECT_NAME([object_id]) = N'mutable';
    

    以下は同義語(後で変更した要件)で機能します:

    SELECT UPPER(name) 
      FROM sys.columns AS c
      CROSS APPLY
      (
        SELECT name
        FROM sys.synonyms 
        WHERE name = N'mutable'
        AND OBJECT_ID([base_object_name]) = c.[object_id]
      ) AS x;
      
    

    次のように言うこともできます:

    DECLARE @obj INT;
    
    SELECT @obj = OBJECT_ID([base_object_name]) 
      FROM sys.synonyms WHERE name = N'mutable';
    
    SELECT UPPER(name) FROM sys.columns WHERE [object_id] = @obj;
    


    1. 複数の列にわたる一意の値の制約

    2. Postgres json_aggに列ヘッダーが含まれています-JSONが正しくありませんか?

    3. 非常に多くのレコードをMySqlデータベースにできるだけ速く挿入する方法

    4. 遅延初期化されたインスタンスを取得しようとしているLazyInitializationException