1

在 oracle 中,当我们编写程序时,我们会这样做:

COUNT_START:= LL_COUNT;
WHILE LL_COUNT > 0 循环
IF LL_COUNT > 20 THEN
COUNT_START := 20;
ELSE
COUNT_START := LL_COUNT;
LL_COUNT := 0;
万一;

我正在 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

执行查询后,我想做一个循环并分配值,如何在 sybase 中执行此操作

4

1 回答 1

2

循环在 TSQL 中非常基本:

while boolean_expression 
  statement

如果您的语句超过 1 行,那么您可以将其包含在开始/结束语句中;

while aStatementIsTrue
begin 
   update myTable
   set myCol = "whatever"

   select someOtherThing
end

更多详细信息可在Sybase T-SQL 用户指南中找到。

于 2013-11-01T16:02:47.727 回答