0

読み取り専用のテーブルを更新しようとしています。マージのみの使用に関するエラー メッセージを受け取りました。ただし、select into などを使用してマージを使用するオンラインの例のほとんどは、. 最も単純な update ステートメントの置換を探しています。テーブル全体をマージする必要はありません。

update table1 set value = 'asdf' where id = 100`

この場合、マージを使用して「asdf」値を含む一時テーブルを作成し、それをターゲット テーブルにマージする唯一の方法はありますか?

別の解決策として、トランザクションの読み取り専用属性を削除することが含まれる場合があります。私はこれを行う方法がわかりません。

助けてくれてありがとう!

4

1 に答える 1

0

あなたの問題はここから始まると思います:

読み取り専用のテーブルを更新しようとしています。

レプリケートされたテーブルであるか、単に読み取り専用として設定されているか (管理者または管理者レベルのユーザーが設定できます)、テーブルを更新することはできません。

そのテーブルのデータを別のテーブルに選択して、そこで更新を試すことができます。

SELECT *
INTO TempTable1
FROM table1


update TempTable1 
set value = 'asdf' 
where id = 100`

オブジェクトを操作 (作成、挿入、更新、または削除) するには、適切な権限が必要です。

于 2012-09-27T16:04:01.277 に答える