我有下表,其中状态列值将在执行 informatica 工作流时动态更新。
CREATE TABLE [dbo].[logging](
[id] [int] NULL,
[workflow] [nvarchar](20) NULL,
[status] [int] NULL
) ON [PRIMARY]
insert into dbo.logging values(2,'wf_d','5')
insert into dbo.logging values(3,'wf_d','6')
insert into dbo.logging values(4,'wf_d','4')
当特定行的状态列的值变为 3 时(在本例中 id=4),我需要显示某个表中的所有行,例如示例产品。如何在 oracle SQL 中执行此操作。我在 SQL Server 中为这个问题找到了一些肮脏的解决方案
DECLARE @compareprice int
label:
set @compareprice = (select status from logging where id=4)
if (@compareprice = 3)
select * from dbo.products;
else
goto label;
在执行此代码的某个时刻,表日志记录中 id=4 的状态代码将变为 3。