私は私が30として結果を取得し、それが正しい答えですが、私は配置する必要があり、このストアドプロシージャから選択されたステートメントの変数にint値を取得する必要がありますか?
alter procedure proced
@tablename varchar(max)
as
begin
declare @sql as varchar(max)
set @sql='select max(abc) from '[email protected]
--print @sql
exec(@sql)
end
のようなストアドプロシージャを作成しているこの
create table exTABLE(abc int)
insert into exTABLE(abc) values(10)
insert into exTABLE(abc) values(20)
insert into exTABLE(abc) values(30)
のようなテーブルや価値観を持っていますその結果は、ストアドプロシージャ内の変数の別々のint型に30を選択し、私は出力として、それを取得する必要があり、すなわち私は私がする必要がある。この
alter procedure proced
@tablename varchar(max)
as
begin
declare @sql as varchar(max)
set @sql = 'select max(abc) from '[email protected]
--print @sql
exec(@sql)
declare @i as int
set @i = cast(@sql as int)
exec(@i)
print @i
end
のように実行しようとしましたiの印刷値を30として取得します。 ANY代替方法は、またこれは、両方のプリントとが返されます
は、私が以前にも –
の外に印刷@iを取得する必要があります。それは印刷:) –
@navsをあなたの方法を試してみましたEXEC(@sql) –