我有下列表格,其中狀態列值將在執行informatica工作流程時動態更新。如何在oracle中執行此場景SQL
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服務器
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
感謝您的意見。我的oracle服務沒有啓動出於某種原因在我的家用電腦這就是爲什麼要在SQL Server上嘗試。我對我的客戶說了同樣的話,如果我想完成這個任務,DBA會直接殺了我,但他們仍然希望我試試看。我沒有VS的訪問權限,所以我不能嘗試輪詢桌子。如果我用觸發器做它,性能如何。你能否給我提供一些關於如何用觸發器做這個事情的例子。上述查詢將運行最多5分鐘。 – Rajkumar
客戶想要什麼? CSV文件導出?查詢將在哪裏保存結果?如果你使用觸發器路由,只要dbo.logging表未被更新數百次,dbo.logging表上的PL/SQL觸發器會檢查相應的「新」值,這對於性能。 –
是的。他們想要一個CSV文件導出。我從Shell腳本運行所有的SQL腳本。我試過觸發選項,它似乎不是一個可行的解決方案。日誌表更新很多次。還有其他選擇嗎? – Rajkumar