1
是一個PL/SQL新手...正在尋求一種方法來做到這一點:如何通過在PL/SQL中查詢另一個數據庫來設置一個數據庫中的值?
- 查詢基於特定條件的數據庫。
- 基於這些條件的結果來更新具有特定值的不同 數據庫表。
例如
數據庫:A(包含我尋找查詢數據)
數據庫:B(含有表2列,我希望更新)
condition.sql:
select typ_cd
from A.mytable
where typ_cd = "AAA"
if typ_cd = "AAA" UPDATE B SET VAL = "P"
如果有人能夠告訴我如何將我的僞代碼轉換爲可用的PL/SQL腳本,將不勝感激。
首先,你確定你有兩個單獨的數據庫,而不是兩個模式在同一個數據庫?像SQL Server這樣的其他產品認爲「數據庫」更像Oracle中的模式,因此常常會對術語產生一些混淆。其次,兩張桌子之間的關係是什麼?你真的想更新B中的每一行以獲得'P'的VAL嗎?或者是否想要更新B中的特定行或一組行(即只有那些行中typ_cd ='AAA')?第三,你真的只是檢查typ_cd'AAA'行是否存在嗎? –
是的,它在同一個Oracle 11g數據庫中有兩種不同的模式。基本上,我正在使用PL/SQL腳本編寫測試,其中A是具有實際數據的數據庫,B是包含以下屬性(列名稱)的數據庫:測試SQL腳本的名稱,狀態(Pass的「P」,F 「爲失敗),時間戳列和另一個唯一的ID。應該有關係嗎? –
由於我們不必創建數據庫鏈接,因此兩種不同的架構明確地使事情變得更容易。需要根據A查詢的結果來確定B模式中表中的哪一行需要更新,或許您知道B中的表中您要更新的特定行是基於其他本地變量在你的PL/SQL代碼中而不是基於A中的數據?否則,需要在表格之間建立某種關係或者確定B中的表格中的哪一行需要更新。 –