Is it possible to call a user-defined function wit

2020-02-10 12:36发布

问题:

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.

回答1:

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



回答2:

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.



回答3:

*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