Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: Database or store to handle 30 Mb/sec and 40,000 inserts/sec
> On Windows platforms, you can create CLR UDF's in Oracle (or at least the
> Oracle equivalent of UDF's). In theory you could index them, as they are
> exposed as a function call, and you can create an index on a function
> (albeit with the same deterministic rules etc as MS SQLServer).
>
I read that you can only have CLR's that are stored procedures in Oracle, and its CLR based on 1.1 .NET framework.
Interesting - it does not really implement CLR UDF's that can be used in say CHECK constraints on a table, computed columns etc...
That is in stark contrast to how CLR based on version 2.0 of the .NET framework has been integrated into SQL Server so you can use CLR almost anywhere, triggers, procs, user definied types, functions etc.... - I think we will both agree that the power that then gives the developer can be very dangerous if not coded properly, its the old argument - cursor via set all over again but potentially worse.
What about User Defined Types? Can you create your own simple/complex types through CLR or equiv in Oracle?
> They will be slowish however, as each call to the function is an extproc.
> Using a CLR function would also prevent any migration of the database to a
> non Windows platform (at least, the function would need to be re-written
> into a portable language).
I can imagine just how slow and non-scalable these will be, the resources required must be more extensive.
Personally I think I've gone far enough with this thread, we can debate all day; but, your answer highlights one area where SQL Server gives a significantly better implementation - CLR; that also goes to answers a previous comment from a poster that SQL Server will always be behind Oracle, CLR is just one instance where it isn't behind but leaps ahead.
-- Tony Rogerson SQL Server MVP http://sqlserverfaq.com - free video tutorials "Mark Townsend" <markbtownsend_at_comcast.net> wrote in message news:43F1EB9B.1010000_at_comcast.net...Received on Tue Feb 14 2006 - 09:32:38 CST
>
>>
>> Does Oracle have the ability to create UDT's or UDF's using CLR? Can you
>> index them?
>>
>
> On Windows platforms, you can create CLR UDF's in Oracle (or at least the
> Oracle equivalent of UDF's). In theory you could index them, as they are
> exposed as a function call, and you can create an index on a function
> (albeit with the same deterministic rules etc as MS SQLServer).
>
> They will be slowish however, as each call to the function is an extproc.
> Using a CLR function would also prevent any migration of the database to a
> non Windows platform (at least, the function would need to be re-written
> into a portable language).