偶然接觸oracle中的變數

2021-08-31 22:11:58 字數 488 閱讀 3404

偶然寫了個update語句

update dm_t t set t.url = (select '/webyy/jcwh.do?method=init&id='||a.id from dm_t a where a.id = t.id)

where t.lx = '001'

執行update的時候,oracle彈出視窗提示輸入id的變數值。

這個是因為oracle的變數宣告可能是&加上變數名,oracle把字串裡的&id解析成了乙個名為id的變數,但這裡我只是想作為乙個普通的字串使用,因此將sql稍作修改,如下:

update dm_t t set t.url = (select '/webyy/jcwh.do?method=init&'||'id='||a.id from dm_t a where a.id = t.id)

where t.lx = '001'

這樣分開寫後,執行成功。

Oracle中觸發器全接觸

2007 5 7 22 30 08 發表評語 2008 3 20 22 48 02 針對某個欄位的觸發器 oracle沒有sqlserver那種機制,只能對欄位進行比較判斷是否更新 create or replace trigger tri t before update on t for each...

Oracle中定義變數

關鍵字 declare 1 定義變數 例如 declare i int 1 其中 是賦值運算子 declare i int 0 s int 0 begin loop i i 1 s s i exit when i 100 這裡不是賦值用 endloop dbms output.put line s ...

用Oracle閃回功能恢復偶然丟失的資料

引言 人為的錯誤是資料庫系統失敗的重要原因之一,根據調查約40 的系統問題是操作失誤或者使用者錯誤引起的,這些人為的錯誤又特別難以避免。傳統上當發生資料丟失 資料錯誤問題時,解決的主要方法就是資料的匯入 匯出 備份 恢復技術。這些方法都需要發生資料錯誤之前有乙個正確的備份,才能進行恢復。恢復時不取決...