views:

411

answers:

3

I'm using MS SQL 2005 and when I create a function I need to put the schema name to call it:

select dbo.MyFunc

All my tables are also in "dbo" schema and I don't need the schema name to reference it, so I'd like to know if I'm missing some configuration that could do the same to functions.

+4  A: 

Short answer, no it isn't.

You should consider to prefix all your database objects with the schema owner to avoid having sql server to "look it up".

It makes your statements more readable and gives a slight increase in performance (although you'd probably won't notice it).

Regards, Lieven

Lieven
+1 for considering dbo ownership especially for shrink wrapped applications
Sam Saffron
+1  A: 

Unlike all the other database objects (tables, views and stored procedures), user defined functions always need the schema name when they are referenced. It's a quirk of SQL Server.

Anthony Faull
A: 

*Scalar-valued functions must be invoked by using at least the two-part name of the function

http://msdn.microsoft.com/en-us/library/ms186755.aspx

+1 Parent

Borik

Borik