SQL変数に値を入力しようとしています。コードが次のような場合に機能します。
declare @num_records int
set @num_records = ( select distinct count(*) as num_recs
from dbo.tbllookup )
print @num_records
例として、クエリをより単純にしましたが、複雑なクエリであり、クエリの一部を別の場所で再利用する必要があるため、変数に入れたいと考えています。だから私はこれを試しましたが、うまくいきません。エラーには、「キーワード 'exec' 付近の構文が正しくありません」と表示されます。
declare @num_records int
declare @sqlstr varchar(200)
set @sqlstr = '( select distinct count(*) as num_recs
from dbo.tbllookup )'
set @num_records = exec(@sqlstr)
print @num_records
私はSQLクエリの初心者です。ですから、概念を理解し、ここで何が間違っているのかを知りたいだけです。
ありがとう。