|
Posted by Erland Sommarskog on 04/29/07 15:43
B D Jensen (bjorn.d.jensen@gmail.com) writes:
> As I see the cast is not needed, because the functions return correct
> datatype.
> Is it that what you mean with "inline"??
I don't know what your functions do, but it seemed from your description
that I could expect something like:
CREATE FUNCTION makesmaller(@x bigint) RETURNS tinyint AS
BEGIN
RETURN (CASE WHEN @x BETWEEN 0 AND 255 THEN @x ELSE NULL END)
END
Then in your INSERT operation you would rather write:
SELECT CASE WHEN bigcol BETWEEN 0 AND 255 THEN bigcol ELSE NULL END,
...
then
SELECT dbo.makesmaller(bigcol), ...
there is an overhead for the call, although it seems to be a lot less
in SQL 2005 than in SQL 2000.
> I think there is another problem: the original table is not in the right
> filegroup and if I understand it right, It must be or must be to make
> switch ultra fast;
Yes, but as you are about to ditch the original table that is not much
of an issue, or?
--
Erland Sommarskog, SQL Server MVP, esquel@sommarskog.se
Books Online for SQL Server 2005 at
http://www.microsoft.com/technet/prodtechnol/sql/2005/downloads/books.mspx
Books Online for SQL Server 2000 at
http://www.microsoft.com/sql/prodinfo/previousversions/books.mspx
[Back to original message]
|