我正在與一個客戶端合作,該客戶端使用1=1
來啓動Oracle中幾乎所有的WHERE子句。原諒我的無知,但這不是一個沒有操作?這種用法有什麼不利後果嗎?在Oracle中,啓動1 = 1的SQL查詢的WHERE子句有用嗎?
這裏有一個擦洗例如:
SELECT gpz.zname
,gpp.pname
FROM table1 gpp INNER JOIN table2 gpz ON gpz.p_id = gpp.p_id
WHERE 1=1
AND gpp.active = 1
AND gpz.active = 1
1的懶惰,由一個或兩個線簡化PL/SQL並且在數據庫上造成這種SQL非常糟糕。太糟糕,如果由於某種原因,他們需要設置cursor_sharing = FORCE-不確定,但我認爲CBO會遇到「WHERE:1 =:2 AND ...」並相應地優化它!有趣的發現... – 2009-07-02 12:59:24