How can write function inside execute key in sqlHow can I remove duplicate rows?How do I perform an IF…THEN in an SQL SELECT?How to return only the Date from a SQL Server DateTime datatypeHow to check if a column exists in a SQL Server table?How can foreign key constraints be temporarily disabled using T-SQL?How can I list all foreign keys referencing a given table in SQL Server?Insert results of a stored procedure into a temporary tableFunction vs. Stored Procedure in SQL ServerHow can I do an UPDATE statement with JOIN in SQL?How do I UPDATE from a SELECT in SQL Server?

Generate and graph the Recamán Sequence

Is there a category where products don't exist because uniqueness fails?

Miss Toad and her frogs

Averting Real Women Don’t Wear Dresses

Reverse of diffraction

Is this hogweed?

How hard is it to sell a home which is currently mortgaged?

Golf the smallest circle!

What is "oversubscription" in Networking?

Is there reliable evidence that depleted uranium from the 1999 NATO bombing is causing cancer in Serbia?

Symbol for "not absolutely continuous" in Latex

Loss of majority in Westminster

Prime parity peregrination

Wrong corporate name on employment agreement

How did researchers use to find articles before the Internet and the computer era?

Who gets an Apparition licence?

Why won't the ground take my seed?

Can Access Fault Exceptions of the MC68040 caused by internal access faults occur in normal situations?

Does “comme on était à New York” mean “since” or “as though”?

The Confused Alien

How exactly is a normal force exerted, at the molecular level?

3D nonogram, beginner's edition

Can a single server be associated with multiple domains?

Could human civilization live 150 years in a nuclear-powered aircraft carrier colony without resorting to mass killing/ cannibalism?



How can write function inside execute key in sql


How can I remove duplicate rows?How do I perform an IF…THEN in an SQL SELECT?How to return only the Date from a SQL Server DateTime datatypeHow to check if a column exists in a SQL Server table?How can foreign key constraints be temporarily disabled using T-SQL?How can I list all foreign keys referencing a given table in SQL Server?Insert results of a stored procedure into a temporary tableFunction vs. Stored Procedure in SQL ServerHow can I do an UPDATE statement with JOIN in SQL?How do I UPDATE from a SELECT in SQL Server?






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








0















Create Function fnRMatrixColorGet1(
@RMID varchar(20)
)
returns varchar(100)

as
begin

EXEC (N'SELECT ' + 'C'+@RMID + ' FROM vwemployeeget where empid='+@RMID)
return
end









share|improve this question



















  • 1





    Which dbms are you using? (That code is product specific.)

    – jarlh
    Mar 25 at 12:31






  • 4





    Functions in SQL Server cannot execute dynamic SQL.

    – Gordon Linoff
    Mar 25 at 12:34

















0















Create Function fnRMatrixColorGet1(
@RMID varchar(20)
)
returns varchar(100)

as
begin

EXEC (N'SELECT ' + 'C'+@RMID + ' FROM vwemployeeget where empid='+@RMID)
return
end









share|improve this question



















  • 1





    Which dbms are you using? (That code is product specific.)

    – jarlh
    Mar 25 at 12:31






  • 4





    Functions in SQL Server cannot execute dynamic SQL.

    – Gordon Linoff
    Mar 25 at 12:34













0












0








0








Create Function fnRMatrixColorGet1(
@RMID varchar(20)
)
returns varchar(100)

as
begin

EXEC (N'SELECT ' + 'C'+@RMID + ' FROM vwemployeeget where empid='+@RMID)
return
end









share|improve this question
















Create Function fnRMatrixColorGet1(
@RMID varchar(20)
)
returns varchar(100)

as
begin

EXEC (N'SELECT ' + 'C'+@RMID + ' FROM vwemployeeget where empid='+@RMID)
return
end






sql-server tsql dynamic-sql stored-functions






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Mar 25 at 15:11









a_horse_with_no_name

318k50 gold badges488 silver badges592 bronze badges




318k50 gold badges488 silver badges592 bronze badges










asked Mar 25 at 12:28









Rajeshwar PRajeshwar P

1




1







  • 1





    Which dbms are you using? (That code is product specific.)

    – jarlh
    Mar 25 at 12:31






  • 4





    Functions in SQL Server cannot execute dynamic SQL.

    – Gordon Linoff
    Mar 25 at 12:34












  • 1





    Which dbms are you using? (That code is product specific.)

    – jarlh
    Mar 25 at 12:31






  • 4





    Functions in SQL Server cannot execute dynamic SQL.

    – Gordon Linoff
    Mar 25 at 12:34







1




1





Which dbms are you using? (That code is product specific.)

– jarlh
Mar 25 at 12:31





Which dbms are you using? (That code is product specific.)

– jarlh
Mar 25 at 12:31




4




4





Functions in SQL Server cannot execute dynamic SQL.

– Gordon Linoff
Mar 25 at 12:34





Functions in SQL Server cannot execute dynamic SQL.

– Gordon Linoff
Mar 25 at 12:34












1 Answer
1






active

oldest

votes


















0














As Gordon wrote in the comments, user defined functions in SQL Server can't execute dynamic SQL.



From Create User-defined Functions:




  • User-defined functions cannot make use of dynamic SQL or temp tables. Table variables are allowed.



However, you can create a stored procedure to do that:



CREATE PROCEDURE stpRMatrixColorGet1
(
@RMID varchar(20)
@MatrixColor varchar(100) OUTPUT
)
AS

DECLARE @Sql nvarchar(4000),
@Column sysname = N'C' + @RMID;

-- White list column name since it can't be parameterized
IF EXISTS
(
SELECT 1
FROM Information_Schema.Columns
WHERE Table_Name = 'vwemployeeget'
AND Column_Name = @Column
)
BEGIN

SET @SQL = N'SELECT @MatrixColor = QUOTENAME('+ @Column +') FROM vwemployeeget where empid = @RMID'

-- Safely execute dynamic SQL using sp_ExecuteSql
EXEC sp_ExecuteSql
@Sql,
N'@RMID varchar(20), @MatrixColor varchar(100) OUTPUT',
@RMID,
@MatrixColor OUTPUT
END





share|improve this answer

























  • Thank for Reply

    – Rajeshwar P
    Mar 26 at 13:18











  • Glad to help :-)

    – Zohar Peled
    Mar 27 at 9:52










Your Answer






StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");

StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













draft saved

draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55337800%2fhow-can-write-function-inside-execute-key-in-sql%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes









0














As Gordon wrote in the comments, user defined functions in SQL Server can't execute dynamic SQL.



From Create User-defined Functions:




  • User-defined functions cannot make use of dynamic SQL or temp tables. Table variables are allowed.



However, you can create a stored procedure to do that:



CREATE PROCEDURE stpRMatrixColorGet1
(
@RMID varchar(20)
@MatrixColor varchar(100) OUTPUT
)
AS

DECLARE @Sql nvarchar(4000),
@Column sysname = N'C' + @RMID;

-- White list column name since it can't be parameterized
IF EXISTS
(
SELECT 1
FROM Information_Schema.Columns
WHERE Table_Name = 'vwemployeeget'
AND Column_Name = @Column
)
BEGIN

SET @SQL = N'SELECT @MatrixColor = QUOTENAME('+ @Column +') FROM vwemployeeget where empid = @RMID'

-- Safely execute dynamic SQL using sp_ExecuteSql
EXEC sp_ExecuteSql
@Sql,
N'@RMID varchar(20), @MatrixColor varchar(100) OUTPUT',
@RMID,
@MatrixColor OUTPUT
END





share|improve this answer

























  • Thank for Reply

    – Rajeshwar P
    Mar 26 at 13:18











  • Glad to help :-)

    – Zohar Peled
    Mar 27 at 9:52















0














As Gordon wrote in the comments, user defined functions in SQL Server can't execute dynamic SQL.



From Create User-defined Functions:




  • User-defined functions cannot make use of dynamic SQL or temp tables. Table variables are allowed.



However, you can create a stored procedure to do that:



CREATE PROCEDURE stpRMatrixColorGet1
(
@RMID varchar(20)
@MatrixColor varchar(100) OUTPUT
)
AS

DECLARE @Sql nvarchar(4000),
@Column sysname = N'C' + @RMID;

-- White list column name since it can't be parameterized
IF EXISTS
(
SELECT 1
FROM Information_Schema.Columns
WHERE Table_Name = 'vwemployeeget'
AND Column_Name = @Column
)
BEGIN

SET @SQL = N'SELECT @MatrixColor = QUOTENAME('+ @Column +') FROM vwemployeeget where empid = @RMID'

-- Safely execute dynamic SQL using sp_ExecuteSql
EXEC sp_ExecuteSql
@Sql,
N'@RMID varchar(20), @MatrixColor varchar(100) OUTPUT',
@RMID,
@MatrixColor OUTPUT
END





share|improve this answer

























  • Thank for Reply

    – Rajeshwar P
    Mar 26 at 13:18











  • Glad to help :-)

    – Zohar Peled
    Mar 27 at 9:52













0












0








0







As Gordon wrote in the comments, user defined functions in SQL Server can't execute dynamic SQL.



From Create User-defined Functions:




  • User-defined functions cannot make use of dynamic SQL or temp tables. Table variables are allowed.



However, you can create a stored procedure to do that:



CREATE PROCEDURE stpRMatrixColorGet1
(
@RMID varchar(20)
@MatrixColor varchar(100) OUTPUT
)
AS

DECLARE @Sql nvarchar(4000),
@Column sysname = N'C' + @RMID;

-- White list column name since it can't be parameterized
IF EXISTS
(
SELECT 1
FROM Information_Schema.Columns
WHERE Table_Name = 'vwemployeeget'
AND Column_Name = @Column
)
BEGIN

SET @SQL = N'SELECT @MatrixColor = QUOTENAME('+ @Column +') FROM vwemployeeget where empid = @RMID'

-- Safely execute dynamic SQL using sp_ExecuteSql
EXEC sp_ExecuteSql
@Sql,
N'@RMID varchar(20), @MatrixColor varchar(100) OUTPUT',
@RMID,
@MatrixColor OUTPUT
END





share|improve this answer















As Gordon wrote in the comments, user defined functions in SQL Server can't execute dynamic SQL.



From Create User-defined Functions:




  • User-defined functions cannot make use of dynamic SQL or temp tables. Table variables are allowed.



However, you can create a stored procedure to do that:



CREATE PROCEDURE stpRMatrixColorGet1
(
@RMID varchar(20)
@MatrixColor varchar(100) OUTPUT
)
AS

DECLARE @Sql nvarchar(4000),
@Column sysname = N'C' + @RMID;

-- White list column name since it can't be parameterized
IF EXISTS
(
SELECT 1
FROM Information_Schema.Columns
WHERE Table_Name = 'vwemployeeget'
AND Column_Name = @Column
)
BEGIN

SET @SQL = N'SELECT @MatrixColor = QUOTENAME('+ @Column +') FROM vwemployeeget where empid = @RMID'

-- Safely execute dynamic SQL using sp_ExecuteSql
EXEC sp_ExecuteSql
@Sql,
N'@RMID varchar(20), @MatrixColor varchar(100) OUTPUT',
@RMID,
@MatrixColor OUTPUT
END






share|improve this answer














share|improve this answer



share|improve this answer








edited Mar 25 at 16:06

























answered Mar 25 at 16:01









Zohar PeledZohar Peled

59.2k7 gold badges35 silver badges77 bronze badges




59.2k7 gold badges35 silver badges77 bronze badges












  • Thank for Reply

    – Rajeshwar P
    Mar 26 at 13:18











  • Glad to help :-)

    – Zohar Peled
    Mar 27 at 9:52

















  • Thank for Reply

    – Rajeshwar P
    Mar 26 at 13:18











  • Glad to help :-)

    – Zohar Peled
    Mar 27 at 9:52
















Thank for Reply

– Rajeshwar P
Mar 26 at 13:18





Thank for Reply

– Rajeshwar P
Mar 26 at 13:18













Glad to help :-)

– Zohar Peled
Mar 27 at 9:52





Glad to help :-)

– Zohar Peled
Mar 27 at 9:52






Got a question that you can’t ask on public Stack Overflow? Learn more about sharing private information with Stack Overflow for Teams.








Got a question that you can’t ask on public Stack Overflow? Learn more about sharing private information with Stack Overflow for Teams.




















draft saved

draft discarded
















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid


  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.

To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55337800%2fhow-can-write-function-inside-execute-key-in-sql%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Kamusi Yaliyomo Aina za kamusi | Muundo wa kamusi | Faida za kamusi | Dhima ya picha katika kamusi | Marejeo | Tazama pia | Viungo vya nje | UrambazajiKuhusu kamusiGo-SwahiliWiki-KamusiKamusi ya Kiswahili na Kiingerezakuihariri na kuongeza habari

Swift 4 - func physicsWorld not invoked on collision? The Next CEO of Stack OverflowHow to call Objective-C code from Swift#ifdef replacement in the Swift language@selector() in Swift?#pragma mark in Swift?Swift for loop: for index, element in array?dispatch_after - GCD in Swift?Swift Beta performance: sorting arraysSplit a String into an array in Swift?The use of Swift 3 @objc inference in Swift 4 mode is deprecated?How to optimize UITableViewCell, because my UITableView lags

Access current req object everywhere in Node.js ExpressWhy are global variables considered bad practice? (node.js)Using req & res across functionsHow do I get the path to the current script with Node.js?What is Node.js' Connect, Express and “middleware”?Node.js w/ express error handling in callbackHow to access the GET parameters after “?” in Express?Modify Node.js req object parametersAccess “app” variable inside of ExpressJS/ConnectJS middleware?Node.js Express app - request objectAngular Http Module considered middleware?Session variables in ExpressJSAdd properties to the req object in expressjs with Typescript