- PR -

連結したSQL文が実行できない。

投稿者投稿内容
NAO
ぬし
会議室デビュー日: 2001/10/24
投稿数: 1256
お住まい・勤務地: 神奈川のはずれから東京の下町
投稿日時: 2005-04-22 15:35
引用:

hanaさんの書き込み (2005-04-22 15:31) より:
夏椰さん、返信ありがとうございます。

引用:

夏椰さんの書き込み (2005-04-22 15:25) より:
set @CustomerID = '''ALFKI'''
でいれれました(^^)



実際には、@CustomerIDはストアドプロシージャの引数として
受け取ったものが入るのですが、
この場合、SQL文の方を加工した方がいいのでしょうか。

[ メッセージ編集済み 編集者: hana 編集日時 2005-04-22 15:32 ]


'が前後に1個ずつ入るから宣言する文字列を長くしなければいけませんよね? 
あと''と重なっているのが'を代入している意味になるのですから、
どうすれば良いかはちょっと考えれば気づきますよね? 

って事をふまえて正解を書いてみて下さいな。 


引用:

NAOさんを真似て、
Print @Customer
を成功した方に追加してみたところ、結果は

ALFKI


え〜と、どういうコードを書いたのか返事下さい(^^ゞ

_________________
Inspired Ambitious

[ メッセージ編集済み 編集者: NAO 編集日時 2005-04-22 15:39 ]
hana
ベテラン
会議室デビュー日: 2003/02/08
投稿数: 70
投稿日時: 2005-04-22 16:16
引用:

NAOさんの書き込み (2005-04-22 15:35) より:

'が前後に1個ずつ入るから宣言する文字列を長くしなければいけませんよね? 
あと''と重なっているのが'を代入している意味になるのですから、
どうすれば良いかはちょっと考えれば気づきますよね? 

って事をふまえて正解を書いてみて下さいな。 



おぉ!!
できました!!

declare @str_sql varchar(8000)
declare @CustomerID nvarchar(7)
set @CustomerID = 'ALFKI'
set @CustomerID = case @CustomerID when '' then null else '''' + @CustomerID + '''' end

set @str_sql = 'select CompanyName from Customers where CustomerID =' + @CustomerID

exec (@str_sql)

で、できました!

NAOさん、夏椰さん、
本当にご協力ありがとうございました!!

スキルアップ/キャリアアップ(JOB@IT)