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

SQLServer2008テーブルに計算列を作成する方法

    クエリを次のような関数にラップできます(持っている 1つの値を返すには):

    CREATE FUNCTION dbo.SumIt(@Key1 varchar(max))
    returns float
    as
    begin
      return (select sum(UTOTALWBUD) from
       CONTACT1 inner join
       CONTACT2 on
       CONTACT1.ACCOUNTNO=CONTACT2.ACCOUNTNO
       where [email protected]
       group by KEY3)
    END
    

    そして、代わりにcalcフィールドでこの関数を使用してください-次のようなものです:

    alter table ManagerTaLog add WeeklyBudget as dbo.SumIt(Key1)
    

    そのようなクエリのパフォーマンスキラーになること:

    select * from ManagerTaLog 
    

    NOTを受け入れるような方法で関数を変更する必要があります varchar 値ですが、NVARCHAR(255) -マネージャ列と同じタイプ。試してみてください。



    1. Javaはパラメータ付きのprepareステートメントを実行しません

    2. サーバーにデプロイされたSSISパッケージを実行するときにCS2001にAssemblyAttributes.csがありません

    3. OracleデータベースでPL/SQL弱参照カーソルを作成する方法

    4. java.sql.SQLException:ORA-01652:表領域TEMPで一時セグメントを128拡張できません(拡張後も)