1

次のように合計列のデータを更新しようとしています:

update
   tableName
set
   score = myFunction(tableName.id)

他の手では、次のようなテーブルが必要です。

column1   |     column2
------------------------------    
  id1     |  myFunction(id1)
  id2     |  myFunction(id2) 
  id3     |  myFunction(id3)
  id4     |  myFunction(id4)

myFunctionスカラー値関数として定義しました。テーブル値関数としても試しましたが、SQL Server 2012 で次のエラーが表示されます。

メッセージ 195、レベル 15、状態 10、行 14
「myFunction」は認識される組み込み関数名ではありません。

私を助けてください

4

1 に答える 1

3

データベースとスキーマ名を含む、関数の完全な名前を使用してみてください。

update
   tableName
set
   score = <database>.<schema>.myFunction(tableName.id)

スキーマ名だけが必要だと思いますが、両方を入れる習慣がついています。

ドキュメントには、少なくとも 2 つの部分の名前が必要であると説明されています。スキーマが何であるかがわからない場合は、次の方法でうまくいく可能性があります。

update
   tableName
set
   score = dbo.myFunction(tableName.id)
于 2013-06-04T23:41:50.573 に答える