ailon's DevBlog: Development related stuff in my life

ON DELETE SET NULL

10/13/2007 4:44:12 PM

I've just discovered the existence of SET NULL option for ON DELETE/ON UPDATE clauses in Oracle. Yes, I'm stupid. No idea in which version this first appeared but there's still no way to set this through GUI in Enterprise Manager Console (as far as I know). However you can set this through code or via GUI in Oracle SQL Developer.

This could be very handy when you have some columns referencing other tables but the data in this columns is of not critical importance. For instance you may have user id of the person who last edited some article stored in the table but if you delete the user (and you are sure about this) you don't want that value preventing your operation. Earlier I just didn't create foreign key on such fields, resulting in ghost values. Now I can just add ON DELETE SET NULL to foreign key declaration and the problem is solved.

Btw, this is also available in MS SQL Server 2005 (not in 2000) along with SET DEFAULT. I can hardly think what is the possible use for SET DEFAULT. Hard-coding the value for referenced field!? Doesn't sound very useful to me. But who am I? If it's there then probably someone needs it.

Tags: , , ,

Oracle's Enterprise Manager Disables Vista's Aero

10/7/2007 2:17:52 PM

I'm currently working on a project which uses Oracle 10g DBMS. So, naturally I've downloaded Oracle 10g Client for Vista (why this is a separate 600mb download from "standard" Win32 version is another story). Installation went smoothly but then, when I started Oracle's Enterprise Manager my screen flickered and shiny Aero Glass interface disappeared. I've closed EM and Aero reappeared. Opened - disappeared, closed - reappeared.

Long story short: I've narrowed the problem down to old JRE (java runtime) version which was included in Oracle's client for Vista (which is a separate 600mb+ download from standard Win32 client for XP, Win2000, etc.). And the ugliest thing is that even though I have the latest version of JRE on my machine Oracle insists on using it's "own" (excerpt from their oemapp.bat file: "REM Make sure that our JRE is used for this invocation").

So, I just took the latest JRE installation and forcefully installed it into Oracle's JRE directory (oracle\product\10.2.0\client_1\jdk\jre\). Voila. Aero is saved, EM seems to work (don't blame me if doesn't). "Only" 2 hours wasted.

Some useful links:

Tags: , , , ,

Copyright © 2003 - 2017 Alan Mendelevich
Powered by BlogEngine.NET 2.5.0.6