2
如何檢測當前的SCAN
狀態並在更改後恢復它?提示變量值時恢復掃描狀態
從腳本中的問題exerpt:
SET SCAN OFF
SET ECHO ON
SET SQLBLANKLINES ON
SET SCAN ON
UPDATE TABLE_NAME SET CREATED_BY = &&created_by;
SET SCAN OFF
的問題是,如果腳本不具有第一行(SET SCAN OFF
),則提示用戶的代碼不應該打開SCAN
狀態之後關閉。僞代碼解決方案:
-- The next line might not exist, or be "SET SCAN ON".
SET SCAN OFF
SET ECHO ON
SET SQLBLANKLINES ON
-- Remember if the scanning was on or off.
PUSH SCAN STATE
SET SCAN ON
UPDATE TABLE_NAME SET CREATED_BY = &&created_by;
-- Revert scanning to its former state.
POP SCAN STATE
線PUSH SCAN STATE
記得狀態,如果代碼被刪除的第一行改變時,腳本的其餘部分仍然按預期工作,由於corresonding POP SCAN STATE
。
你可以'頂部SHOW SCAN'並在必要時事後手動重置。 – 2010-03-12 03:20:41
@Jeffrey:我正在尋找一個自動化解決方案。 – 2010-03-12 18:06:24
我收集了這些,這就是爲什麼我發表了評論,但沒有回答 - 我懷疑可能沒有解決方案。 – 2010-03-14 00:11:47