Reply to Re: Function Parameter

Your name:

Reply:


Posted by Erland Sommarskog on 04/21/07 16:05

SQL Server (alderran666@gmail.com) writes:
> I am writing a function which will take two parameters. One the field
> to be returned from a table and second parameter is the ID of the
> record to be returned.
>
> Problem is it's not returning the value of the field specified in the
> parameter but instead returns the parameter itself. Is there a
> function that will get the parameter to be evaluted first?
>
> ALTER FUNCTION [dbo].[getScholarYearData]
> (
> -- Add the parameters for the function here
> @FieldName varchar(50), @ScholarID int
> )
> RETURNS varchar(255)
> AS
> BEGIN
> -- Declare the return variable here
> DECLARE @ResultVar varchar(255)
>
> -- Add the T-SQL statements to compute the return value here
> SELECT @ResultVar=EXECUTE(@FieldName)

This does not even compile.

The fact that you want to pass a parameter for the column name indicates
that you have a poor table design. Columns should represent unique
attributes, and normally it's not meaningful to sometimes return one
column and sometimes another.

Nevertheless, you can use the CASE expression:

@ResultVar = CASE @FieldName
WHEN 'thiscol' THEN thiscol
WHEN 'thatcol' THEN thatcol
WHEN 'thatothercol' THEN thatothercol
END



--
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]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация