1、更新表的不同
oracle
update ip_gn_baxx_gbxx_ls
sjxt_id = #provincesystemid#
jlid = #broadcastipid#
czjg = #operatingresult#
jgms = #resultinfo#
where rbsj = ( select max(rbsj) from ip_gn_baxx_gbxx_ls where
jlid = #tempbroadcastipid# ) and jlid = #tempbroadcastipid#
mysql
update ip_gn_ly_baxx_ls
sjxt_id = #provincesystemid#
jlid = #sourceipid#
czjg = #operatingresult#
jgms = #resultinfo#
where id in(
select c.id from (
select id from ip_gn_ly_baxx_ls where
rbsj = (select
max(rbsj)
from ip_gn_ly_baxx_ls
where jlid = #tempsourceipid#
)and jlid = #tempsourceipid#
) c
)
1. 一般而言,不能更改表,並從子查詢內的相同表進行選擇。
2. 例如,該限制適用於具有下述形式的語句:
3. delete from t where ... (select ... from t ...);
4. update t ... where col = (select ... from t ...);
5. into t (select ... from t ...);
6. 例外:如果為from子句中更改的表使用子查詢,前述禁令將不再適用。
7. 例如:
8. update t ... where col = (select (select ... from t...)
9. as _t ...);
10. 禁令在此不適用,這是因為from中的子查詢已被具體化為臨時表,因此 「t」中的相關行已在滿足「t」條件的情況下、在更新時被選中。
看了上面的說明頓悟,於是再加上了乙個in的子查詢
delete 不同
oracle
delete 表名 或delete from 表名
mysql 只能是delete from 表名
insert delete 操作是不允許使用表別名的。
update where條件中不允許自連線
子查詢別名
mysql 子查詢返回的臨時表必須要起別名
oracle 沒有限制
group by 多列時
oracle可以對多列用括號括起來
mysql則不行,否則會報operand should contain 1 column(s) error
create table
oracle null,not null 放在default 值後面
mysql default 值 null,not null
Oracle遷移到MySQL總結
日期 2012 06 01 字型 大中小 這兩個星期裡一直都在忙於一件事兒,就是oracle資料庫的遷移問題。沒有做的時候感覺這是一件十分輕鬆的事兒,可是等到實實在在去做去實現的時候,自己傻眼了。這種糾結啊,在這裡先說下遇到的問題 1。資料庫的表結構問題 資料型別不同需要解決varchar2 var...
Oracle遷移到PostgreSQL問題
oracle遷移到postgresql 使用ora2pg的方案將oracle遷移至pg,遇到的問題多少與源oracle資料庫有多少與pg不相容的東西成正比。下面是我們遇到的問題簡單總結 應用程式裡面sqlmap.xml 人工review時的問題發現 oracle postgresql dual表 沒...
GitLab專案遷移到Gerrit
1 在gerrit上新建專案 2 gerrit專案配置許可權 此處非 reference refs push annotated tagpush signed tagforge committer identity create reference read push3 將gitlab專案轉殖至本地...