2016-11-03 15 views
0

引数を取るプロシージャがあります。そして、私はその引数に基づいてクエリを介してカーソルをループしたいと思います。プロシージャ引数からの動的カーソル

引数が渡される:例えば

給料それを介し

カーソルがあること(EMPから給料を選択)する必要があり、ループ。

どうすればよいですか?

+0

どのDBMSを使用していますか? –

+0

Oracleデータベース。 –

+0

['open for'](http://docs.oracle.com/cd/E11882_01/appdev.112/e25519/dynamic.htm#LNPLS629)動的SQLの構築が必要なようです。 –

答えて

0
DECLARE @ARGUMENT VARCHAR(50) = 'salary'; 
DECLARE @CURSOR_BODY VARCHAR(MAX) = ' 
declare @variable varchar(max) 
declare cur cursor for 
select '+ @argument + ' from emp 
OPEN cur; 
FETCH NEXT FROM cur INTO @variable 
WHILE @@FETCH_STATUS=0 
    BEGIN 
    select @variable 
    FETCH NEXT FROM cur INTO @variable; 
    END 
CLOSE cur 
DEALLOCATE cur' 

print @cursor_body 

EXEC (@CURSOR_BODY) 

このように

関連する問題