请帮我处理ORACLE中的程序。
我有3列的表格:
Create table PG_TABLE_1
(ID number(3),
PROCEDURE varchar2(15),
STATUS varchar2(4));
insert into PG_TABLE_1 values ('1','PROC_1','OK');
insert into PG_TABLE_1 values ('2','PROC_2','WAIT');
insert into PG_TABLE_1 values ('3','PROC_3','WAIT');
insert into PG_TABLE_1 values ('4','PROC_4','WAIT');
PROC_1,PROC_2,PROC_3,PROC_4是真实程序的名称。
如何用LOOP编写代码,其中:
感谢您的帮助
答案 0 :(得分:-1)
是的,我同意@Anand你必须使用动态查询
WHILE EXISTS (SELECT 1 FROM PG_TABLE_1 WHERE STATUS = 'WAIT')
BEGIN
SELECT TOP 1 @PROC = PROCEDURE FROM PG_TABLE_1 WHERE STATUS = 'WAIT'
SET @SQL = @SQL + @PROC
EXEC (@SQL)
UPDATE PG_TABLE_1 SET STATUS = 'OK' WHERE PROCEDURE = @PROC
END
另请尝试更改过程和状态
的列名称