SQL Server 2005のストアドプロシージャを使用した更新

sql-server sql-server-2005 stored-procedures
SQL Server 2005のストアドプロシージャを使用した更新
UPDATE users
SET field = my_sp()

SQL Server 2005で。 どうやらこれを行うことができず、何らかの形式のEXECを使用する必要があります。 誰でも私を助けて、これを行う方法を教えてもらえますか? これは簡単な担当者になります。

  1  0


ベストアンサー

値を割り当てるには、sql関数を使用する必要があります。 ストアドプロシージャから値を割り当てることはできません。 +これはhttp://msdn.microsoft.com/en-us/library/ms186755.aspx[link]の作成方法です。

2


いくつかのパラメーター(またはゼロ)を取り、必要なものを返すスカラー関数を作成する必要があります。

1


ストアドプロシージャの出力を一時テーブルに保存し、その一時テーブルを更新のベースとして使用できます。 例として、以下のコードは、procが2つの整数を持つレコードセットを返すことを前提としています。

create table #t (
    ColumnA int,
    ColumnB int
)

insert into #t
    (ColumnA, ColumnB)
    exec my_sp

update u
    set field = t.ColumnB
    from users u
        inner join #t t
            on u.UserID = t.ColumnA

drop table #t

1


タイトルとURLをコピーしました