1

オラクルでは、プロシージャを記述するときは次のようにします。

COUNT_START:= LL_COUNT;
WHILE LL_COUNT > 0 LOOP
IF LL_COUNT > 20 THEN
COUNT_START := 20;
ELSE
COUNT_START := LL_COUNT;
LL_COUNT:= 0;
END IF;

私は sybase でプロシージャを書いています:

  CREATE PROCEDURE P_RDS_EOD_ARCH_PURGE
  v_test numeric(10,0)

 AS

 BEGIN

 DECLARE @ID VARCHAR(200)
 DECLARE @NAME VARCHAR(200)
 DECLARE @TYPE VARCHAR(200)
 DECLARE @SQL_TXT VARCHAR(255)


 SELECT @ID   = '1' 
 SELECT @NAME = 'P_TEST'
 SELECT @TYPE = 'SELECT'

 SELECT @SQL_TXT ='RANDOM QUERY'

 EXECUTE @ID, @NAME , @TYPE, @SQL_TXT

クエリを実行した後、LOOPを実行して値を割り当てたいのですが、sybase でそれを行う方法

4

1 に答える 1

2

TSQL では、ループは非常に基本的なものです。

while boolean_expression 
  statement

ステートメントが 1 行を超える場合は、begin/end ステートメントで囲むことができます。

while aStatementIsTrue
begin 
   update myTable
   set myCol = "whatever"

   select someOtherThing
end

詳細については、Sybase T-SQL User's Guide を参照してください。

于 2013-11-01T16:02:47.727 に答える