0

次のようなものを使用してクエリを実行することに成功しましたが、「変数」を使用せずに更新を行うことはできません。これは可能ですか?これは、

'不正な構文付近' set stuf_rec.stat = "A"

DECLARE @stuf_no varchar(6)
set @stuf_no = 267
DECLARE @sql varchar (2000) 
set @sql = 
'UPDATE OPENQUERY(train,''select stat from stuf_rec 
where stuf_no =  '+ @stuf_no + ''')'' set stuf_rec.stat = ' + '"A"' + ' 
where stuf_rec.stuf_no = ' + @stuf_no + ''';'

ありがとう..

4

1 に答える 1

0

これはうまくいきますか?または、値に二重引用符が必要ですか?

DECLARE @stuf_no varchar(6)
set @stuf_no = '267'
DECLARE @sql varchar (2000)

set @sql =    
'UPDATE OPENQUERY(train,''select stat from stuf_rec    
where stuf_no =  '+ @stuf_no + ''') set stuf_rec.stat = ''A''     
where stuf_rec.stuf_no = ' + @stuf_no + ';' 

@sql の結果は次のようになります。

UPDATE OPENQUERY(train,'select stat from stuf_rec      
                        where stuf_no =  267') 
    set stuf_rec.stat = 'A'       
    where stuf_rec.stuf_no = 267;
于 2012-07-03T11:33:16.230 に答える