{"id":120,"date":"2014-04-30T12:24:00","date_gmt":"2014-04-30T11:24:00","guid":{"rendered":"https:\/\/debuggersspace.com\/index.php\/2014\/04\/30\/difference-between-stored-procedure-and-function-in-sql-server\/"},"modified":"2014-04-30T12:24:00","modified_gmt":"2014-04-30T11:24:00","slug":"difference-between-stored-procedure-and-function-in-sql-server","status":"publish","type":"post","link":"https:\/\/debuggersspace.com\/index.php\/2014\/04\/30\/difference-between-stored-procedure-and-function-in-sql-server\/","title":{"rendered":"Difference between Stored Procedure and Function in SQL Server?"},"content":{"rendered":"<div class='booster-block booster-read-block'>\n                <div class=\"twp-read-time\">\n                \t<i class=\"booster-icon twp-clock\"><\/i> <span>Read Time:<\/span>2 Minute, 6 Second                <\/div>\n\n            <\/div><div dir=\"ltr\" style=\"text-align: left;\">\n<div style=\"background-color: #f9f9f9; box-sizing: border-box; color: #161616; line-height: 24px; padding: 10px 0px 5px; text-align: justify; vertical-align: top;\">\n<span style=\"font-family: Times, Times New Roman, serif;\">Stored Procedures are pre-compile objects which are compiled for first time and its compiled format is saved which executes (compiled code) whenever it is called. But Function is compiled and executed every time when it is called.<\/span><\/div>\n<h2 style=\"background-color: #f9f9f9; box-sizing: border-box; color: #4466c5; font-weight: normal; line-height: 30px; margin: 15px 0px 10px; padding-left: 0px; text-align: justify;\">\n<span style=\"font-family: Times, Times New Roman, serif; font-size: small;\">Basic Difference<\/span><\/h2>\n<ol style=\"background-color: #f9f9f9; box-sizing: border-box; color: #161616; line-height: 24px; list-style-type: decimal-leading-zero; margin-bottom: 10px; margin-left: 2px; margin-top: 0px;\">\n<li style=\"box-sizing: border-box; padding: 5px 0px; text-align: justify;\">\n<div style=\"box-sizing: border-box; padding: 0px; vertical-align: top;\">\n<span style=\"font-family: Times, Times New Roman, serif;\">Function must return a value but in Stored Procedure it is optional( Procedure can return zero or n values).<\/span><\/div>\n<\/li>\n<li style=\"box-sizing: border-box; padding: 5px 0px; text-align: justify;\">\n<div style=\"box-sizing: border-box; padding: 0px; vertical-align: top;\">\n<span style=\"font-family: Times, Times New Roman, serif;\">Functions can have only input parameters for it whereas Procedures can have input\/output parameters .<\/span><\/div>\n<\/li>\n<li style=\"box-sizing: border-box; padding: 5px 0px; text-align: justify;\">\n<div style=\"box-sizing: border-box; padding: 0px; vertical-align: top;\">\n<span style=\"font-family: Times, Times New Roman, serif;\">Function takes one input parameter it is mandatory but Stored Procedure may take o to n input parameters..<\/span><\/div>\n<\/li>\n<li style=\"box-sizing: border-box; padding: 5px 0px; text-align: justify;\">\n<div style=\"box-sizing: border-box; padding: 0px; vertical-align: top;\">\n<span style=\"font-family: Times, Times New Roman, serif;\">Functions can be called from Procedure whereas Procedures cannot be called from Function.<\/span><\/div>\n<div style=\"box-sizing: border-box; padding: 0px; vertical-align: top;\">\n<\/div>\n<\/li>\n<\/ol>\n<h2 style=\"background-color: #f9f9f9; box-sizing: border-box; color: #4466c5; font-weight: normal; line-height: 30px; margin: 15px 0px 10px; padding-left: 0px; text-align: justify;\">\n<span style=\"font-family: Times, Times New Roman, serif; font-size: small;\">Advance Difference<\/span><\/h2>\n<ol style=\"background-color: #f9f9f9; box-sizing: border-box; color: #161616; line-height: 24px; list-style-type: decimal-leading-zero; margin-bottom: 10px; margin-left: 2px; margin-top: 0px;\">\n<li style=\"box-sizing: border-box; padding: 5px 0px; text-align: justify;\">\n<div style=\"box-sizing: border-box; padding: 0px; vertical-align: top;\">\n<span style=\"font-family: Times, Times New Roman, serif;\">Procedure allows SELECT as well as DML(INSERT\/UPDATE\/DELETE) statement in it whereas Function allows only SELECT statement in it.<\/span><\/div>\n<\/li>\n<li style=\"box-sizing: border-box; padding: 5px 0px; text-align: justify;\">\n<div style=\"box-sizing: border-box; padding: 0px; vertical-align: top;\">\n<span style=\"font-family: Times, Times New Roman, serif;\">Procedures can not be utilized in a SELECT statement whereas Function can be embedded in a SELECT statement.<\/span><\/div>\n<\/li>\n<li style=\"box-sizing: border-box; padding: 5px 0px; text-align: justify;\">\n<div style=\"box-sizing: border-box; padding: 0px; vertical-align: top;\">\n<span style=\"font-family: Times, Times New Roman, serif;\">Stored Procedures cannot be used in the SQL statements anywhere in the WHERE\/HAVING\/SELECT section whereas Function can be.<\/span><\/div>\n<div style=\"box-sizing: border-box; padding: 0px; vertical-align: top;\">\n<\/div>\n<\/li>\n<li style=\"box-sizing: border-box; padding: 5px 0px; text-align: justify;\">\n<div style=\"box-sizing: border-box; padding: 0px; vertical-align: top;\">\n<span style=\"font-family: Times, Times New Roman, serif;\">Functions that return tables can be treated as another rowset. This can be used in JOINs with other tables.<\/span><\/div>\n<\/li>\n<li style=\"box-sizing: border-box; padding: 5px 0px; text-align: justify;\">\n<div style=\"box-sizing: border-box; padding: 0px; vertical-align: top;\">\n<span style=\"font-family: Times, Times New Roman, serif;\">Inline Function can be though of as views that take parameters and can be used in JOINs and other Rowset operations.<\/span><\/div>\n<\/li>\n<li style=\"box-sizing: border-box; padding: 5px 0px; text-align: justify;\">\n<div style=\"box-sizing: border-box; padding: 0px; vertical-align: top;\">\n<span style=\"font-family: Times, Times New Roman, serif;\">Exception can be handled by try-catch block in a Procedure whereas try-catch block cannot be used in a Function.<\/span><\/div>\n<\/li>\n<li style=\"box-sizing: border-box; padding: 5px 0px; text-align: justify;\">\n<div style=\"box-sizing: border-box; padding: 0px; vertical-align: top;\">\n<span style=\"font-family: Times, Times New Roman, serif;\">We can go for Transaction Management in Procedure whereas we can&#8217;t go in Function.<\/span><\/div>\n<\/li>\n<\/ol>\n<div style=\"text-align: justify;\">\n<table border=\"1\" cellpadding=\"0\" cellspacing=\"0\" prevstyle=\"border-top: medium none; border-right: medium none; border-collapse: collapse; border-bottom: medium none; border-left: medium none; mso-border-alt: solid windowtext .5pt; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 5.4pt 0in 5.4pt\" style=\"background-color: white; border-collapse: collapse; border: medium none; color: #4b4b4c; font-family: arial; font-size: 12px; line-height: 18px; text-align: justify;\">\n<tbody>\n<tr>\n<td prevstyle=\"border-top: windowtext 1pt solid; border-right: windowtext 1pt solid; border-bottom: windowtext 1pt solid; padding-bottom: 0in; padding-top: 0in; padding-left: 5.4pt; border-left: windowtext 1pt solid; padding-right: 5.4pt; width: 80.75pt; background-color: transparent; mso-border-alt: solid windowtext .5pt\" style=\"background-color: transparent; border: 1pt solid windowtext; padding: 0in 5.4pt; width: 80.75pt;\" valign=\"top\" width=\"108\">\n<div style=\"border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; line-height: normal; margin: 0in 0in 0pt; outline: 0px; padding: 0px; vertical-align: baseline;\">\n<\/div>\n<\/td>\n<td prevstyle=\"border-top: windowtext 1pt solid; border-right: windowtext 1pt solid; border-bottom: windowtext 1pt solid; padding-bottom: 0in; padding-top: 0in; padding-left: 5.4pt; border-left: #f0f0f0; padding-right: 5.4pt; width: 2.5in; background-color: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt\" style=\"background-color: transparent; border-bottom-style: solid; border-bottom-width: 1pt; border-color: windowtext windowtext windowtext rgb(240, 240, 240); border-right-style: solid; border-right-width: 1pt; border-top-style: solid; border-top-width: 1pt; padding: 0in 5.4pt; width: 2.5in;\" valign=\"top\" width=\"240\">\n<div style=\"border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; line-height: normal; margin: 0in 0in 0pt; outline: 0px; padding: 0px; vertical-align: baseline;\">\n<span style=\"border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;\">Stored Procedure<o:p><\/o:p><\/span><\/div>\n<\/td>\n<td prevstyle=\"border-top: windowtext 1pt solid; border-right: windowtext 1pt solid; border-bottom: windowtext 1pt solid; padding-bottom: 0in; padding-top: 0in; padding-left: 5.4pt; border-left: #f0f0f0; padding-right: 5.4pt; width: 206.75pt; background-color: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt\" style=\"background-color: transparent; border-bottom-style: solid; border-bottom-width: 1pt; border-color: windowtext windowtext windowtext rgb(240, 240, 240); border-right-style: solid; border-right-width: 1pt; border-top-style: solid; border-top-width: 1pt; padding: 0in 5.4pt; width: 206.75pt;\" valign=\"top\" width=\"276\">\n<div style=\"border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; line-height: normal; margin: 0in 0in 0pt; outline: 0px; padding: 0px; vertical-align: baseline;\">\n<span style=\"border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;\">Functions<o:p><\/o:p><\/span><\/div>\n<\/td>\n<\/tr>\n<tr>\n<td prevstyle=\"border-top: #f0f0f0; border-right: windowtext 1pt solid; border-bottom: windowtext 1pt solid; padding-bottom: 0in; padding-top: 0in; padding-left: 5.4pt; border-left: windowtext 1pt solid; padding-right: 5.4pt; width: 80.75pt; background-color: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt\" style=\"background-color: transparent; border-bottom-style: solid; border-bottom-width: 1pt; border-color: rgb(240, 240, 240) windowtext windowtext; border-left-style: solid; border-left-width: 1pt; border-right-style: solid; border-right-width: 1pt; padding: 0in 5.4pt; width: 80.75pt;\" valign=\"top\" width=\"108\">\n<div style=\"border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; line-height: normal; margin: 0in 0in 0pt; outline: 0px; padding: 0px; vertical-align: baseline;\">\n<span style=\"border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;\">Compilation<o:p><\/o:p><\/span><\/div>\n<\/td>\n<td prevstyle=\"border-top: #f0f0f0; border-right: windowtext 1pt solid; border-bottom: windowtext 1pt solid; padding-bottom: 0in; padding-top: 0in; padding-left: 5.4pt; border-left: #f0f0f0; padding-right: 5.4pt; width: 2.5in; background-color: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt\" style=\"background-color: transparent; border-bottom-style: solid; border-bottom-width: 1pt; border-color: rgb(240, 240, 240) windowtext windowtext rgb(240, 240, 240); border-right-style: solid; border-right-width: 1pt; padding: 0in 5.4pt; width: 2.5in;\" valign=\"top\" width=\"240\">\n<div style=\"border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; line-height: normal; margin: 0in 0in 0pt; outline: 0px; padding: 0px; vertical-align: baseline;\">\n<span style=\"border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;\">Stored in database in compiled format.<o:p><\/o:p><\/span><\/div>\n<div style=\"border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; line-height: normal; margin: 0in 0in 0pt; outline: 0px; padding: 0px; vertical-align: baseline;\">\n<span style=\"border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;\">Note: Compiled indicates, Execution plan will be made by sql at the time it created and stored in DB.<o:p><\/o:p><\/span><\/div>\n<\/td>\n<td prevstyle=\"border-top: #f0f0f0; border-right: windowtext 1pt solid; border-bottom: windowtext 1pt solid; padding-bottom: 0in; padding-top: 0in; padding-left: 5.4pt; border-left: #f0f0f0; padding-right: 5.4pt; width: 206.75pt; background-color: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt\" style=\"background-color: transparent; border-bottom-style: solid; border-bottom-width: 1pt; border-color: rgb(240, 240, 240) windowtext windowtext rgb(240, 240, 240); border-right-style: solid; border-right-width: 1pt; padding: 0in 5.4pt; width: 206.75pt;\" valign=\"top\" width=\"276\">\n<div style=\"border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; line-height: normal; margin: 0in 0in 0pt; outline: 0px; padding: 0px; vertical-align: baseline;\">\n<span style=\"border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;\">Will compiled at run time<o:p><\/o:p><\/span><\/div>\n<\/td>\n<\/tr>\n<tr>\n<td prevstyle=\"border-top: #f0f0f0; border-right: windowtext 1pt solid; border-bottom: windowtext 1pt solid; padding-bottom: 0in; padding-top: 0in; padding-left: 5.4pt; border-left: windowtext 1pt solid; padding-right: 5.4pt; width: 80.75pt; background-color: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt\" style=\"background-color: transparent; border-bottom-style: solid; border-bottom-width: 1pt; border-color: rgb(240, 240, 240) windowtext windowtext; border-left-style: solid; border-left-width: 1pt; border-right-style: solid; border-right-width: 1pt; padding: 0in 5.4pt; width: 80.75pt;\" valign=\"top\" width=\"108\">\n<div style=\"border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; line-height: normal; margin: 0in 0in 0pt; outline: 0px; padding: 0px; vertical-align: baseline;\">\n<span style=\"border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;\">Return type<o:p><\/o:p><\/span><\/div>\n<\/td>\n<td prevstyle=\"border-top: #f0f0f0; border-right: windowtext 1pt solid; border-bottom: windowtext 1pt solid; padding-bottom: 0in; padding-top: 0in; padding-left: 5.4pt; border-left: #f0f0f0; padding-right: 5.4pt; width: 2.5in; background-color: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt\" style=\"background-color: transparent; border-bottom-style: solid; border-bottom-width: 1pt; border-color: rgb(240, 240, 240) windowtext windowtext rgb(240, 240, 240); border-right-style: solid; border-right-width: 1pt; padding: 0in 5.4pt; width: 2.5in;\" valign=\"top\" width=\"240\">\n<div style=\"border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; line-height: normal; margin: 0in 0in 0pt; outline: 0px; padding: 0px; vertical-align: baseline;\">\n<span style=\"border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;\">It can directly return only integers<o:p><\/o:p><\/span><\/div>\n<div style=\"border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; line-height: normal; margin: 0in 0in 0pt; outline: 0px; padding: 0px; vertical-align: baseline;\">\n<\/div>\n<div style=\"border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; line-height: normal; margin: 0in 0in 0pt; outline: 0px; padding: 0px; vertical-align: baseline;\">\n<span style=\"border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;\">Return type is not must<o:p><\/o:p><\/span><\/div>\n<\/td>\n<td prevstyle=\"border-top: #f0f0f0; border-right: windowtext 1pt solid; border-bottom: windowtext 1pt solid; padding-bottom: 0in; padding-top: 0in; padding-left: 5.4pt; border-left: #f0f0f0; padding-right: 5.4pt; width: 206.75pt; background-color: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt\" style=\"background-color: transparent; border-bottom-style: solid; border-bottom-width: 1pt; border-color: rgb(240, 240, 240) windowtext windowtext rgb(240, 240, 240); border-right-style: solid; border-right-width: 1pt; padding: 0in 5.4pt; width: 206.75pt;\" valign=\"top\" width=\"276\">\n<div style=\"border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; line-height: normal; margin: 0in 0in 0pt; outline: 0px; padding: 0px; vertical-align: baseline;\">\n<span style=\"border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;\">It can return any scalar or table<o:p><\/o:p><\/span><\/div>\n<div style=\"border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; line-height: normal; margin: 0in 0in 0pt; outline: 0px; padding: 0px; vertical-align: baseline;\">\n<\/div>\n<div style=\"border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; line-height: normal; margin: 0in 0in 0pt; outline: 0px; padding: 0px; vertical-align: baseline;\">\n<span style=\"border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;\">Return type is must<o:p><\/o:p><\/span><\/div>\n<\/td>\n<\/tr>\n<tr>\n<td prevstyle=\"border-top: #f0f0f0; border-right: windowtext 1pt solid; border-bottom: windowtext 1pt solid; padding-bottom: 0in; padding-top: 0in; padding-left: 5.4pt; border-left: windowtext 1pt solid; padding-right: 5.4pt; width: 80.75pt; background-color: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt\" style=\"background-color: transparent; border-bottom-style: solid; border-bottom-width: 1pt; border-color: rgb(240, 240, 240) windowtext windowtext; border-left-style: solid; border-left-width: 1pt; border-right-style: solid; border-right-width: 1pt; padding: 0in 5.4pt; width: 80.75pt;\" valign=\"top\" width=\"108\">\n<div style=\"border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; line-height: normal; margin: 0in 0in 0pt; outline: 0px; padding: 0px; vertical-align: baseline;\">\n<span style=\"border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;\">Multiple return values<o:p><\/o:p><\/span><\/div>\n<\/td>\n<td prevstyle=\"border-top: #f0f0f0; border-right: windowtext 1pt solid; border-bottom: windowtext 1pt solid; padding-bottom: 0in; padding-top: 0in; padding-left: 5.4pt; border-left: #f0f0f0; padding-right: 5.4pt; width: 2.5in; background-color: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt\" style=\"background-color: transparent; border-bottom-style: solid; border-bottom-width: 1pt; border-color: rgb(240, 240, 240) windowtext windowtext rgb(240, 240, 240); border-right-style: solid; border-right-width: 1pt; padding: 0in 5.4pt; width: 2.5in;\" valign=\"top\" width=\"240\">\n<div style=\"border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; line-height: normal; margin: 0in 0in 0pt; outline: 0px; padding: 0px; vertical-align: baseline;\">\n<span style=\"border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;\">It can also return more than one values (of any data type) indirectly with the help of out parameters<o:p><\/o:p><\/span><\/div>\n<\/td>\n<td prevstyle=\"border-top: #f0f0f0; border-right: windowtext 1pt solid; border-bottom: windowtext 1pt solid; padding-bottom: 0in; padding-top: 0in; padding-left: 5.4pt; border-left: #f0f0f0; padding-right: 5.4pt; width: 206.75pt; background-color: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt\" style=\"background-color: transparent; border-bottom-style: solid; border-bottom-width: 1pt; border-color: rgb(240, 240, 240) windowtext windowtext rgb(240, 240, 240); border-right-style: solid; border-right-width: 1pt; padding: 0in 5.4pt; width: 206.75pt;\" valign=\"top\" width=\"276\">\n<div style=\"border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; line-height: normal; margin: 0in 0in 0pt; outline: 0px; padding: 0px; vertical-align: baseline;\">\n<span style=\"border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;\">It won&#8217;t support out parameters<o:p><\/o:p><\/span><\/div>\n<\/td>\n<\/tr>\n<tr>\n<td prevstyle=\"border-top: #f0f0f0; border-right: windowtext 1pt solid; border-bottom: windowtext 1pt solid; padding-bottom: 0in; padding-top: 0in; padding-left: 5.4pt; border-left: windowtext 1pt solid; padding-right: 5.4pt; width: 80.75pt; background-color: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt\" style=\"background-color: transparent; border-bottom-style: solid; border-bottom-width: 1pt; border-color: rgb(240, 240, 240) windowtext windowtext; border-left-style: solid; border-left-width: 1pt; border-right-style: solid; border-right-width: 1pt; padding: 0in 5.4pt; width: 80.75pt;\" valign=\"top\" width=\"108\">\n<div style=\"border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; line-height: normal; margin: 0in 0in 0pt; outline: 0px; padding: 0px; vertical-align: baseline;\">\n<span style=\"border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;\">DML Statements<o:p><\/o:p><\/span><\/div>\n<\/td>\n<td prevstyle=\"border-top: #f0f0f0; border-right: windowtext 1pt solid; border-bottom: windowtext 1pt solid; padding-bottom: 0in; padding-top: 0in; padding-left: 5.4pt; border-left: #f0f0f0; padding-right: 5.4pt; width: 2.5in; background-color: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt\" style=\"background-color: transparent; border-bottom-style: solid; border-bottom-width: 1pt; border-color: rgb(240, 240, 240) windowtext windowtext rgb(240, 240, 240); border-right-style: solid; border-right-width: 1pt; padding: 0in 5.4pt; width: 2.5in;\" valign=\"top\" width=\"240\">\n<div style=\"border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; line-height: normal; margin: 0in 0in 0pt; outline: 0px; padding: 0px; vertical-align: baseline;\">\n<span style=\"border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;\">Can have DML statements.<o:p><\/o:p><\/span><\/div>\n<\/td>\n<td prevstyle=\"border-top: #f0f0f0; border-right: windowtext 1pt solid; border-bottom: windowtext 1pt solid; padding-bottom: 0in; padding-top: 0in; padding-left: 5.4pt; border-left: #f0f0f0; padding-right: 5.4pt; width: 206.75pt; background-color: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt\" style=\"background-color: transparent; border-bottom-style: solid; border-bottom-width: 1pt; border-color: rgb(240, 240, 240) windowtext windowtext rgb(240, 240, 240); border-right-style: solid; border-right-width: 1pt; padding: 0in 5.4pt; width: 206.75pt;\" valign=\"top\" width=\"276\">\n<div style=\"border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; line-height: normal; margin: 0in 0in 0pt; outline: 0px; padding: 0px; vertical-align: baseline;\">\n<span style=\"border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;\">Cannot have DML statements.<o:p><\/o:p><\/span><\/div>\n<div style=\"border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; line-height: normal; margin: 0in 0in 0pt; outline: 0px; padding: 0px; vertical-align: baseline;\">\n<span style=\"border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;\">Note: In case of multi-table valued functions it can contain DML statements affecting Table Variables.<o:p><\/o:p><\/span><\/div>\n<\/td>\n<\/tr>\n<tr>\n<td prevstyle=\"border-top: #f0f0f0; border-right: windowtext 1pt solid; border-bottom: windowtext 1pt solid; padding-bottom: 0in; padding-top: 0in; padding-left: 5.4pt; border-left: windowtext 1pt solid; padding-right: 5.4pt; width: 80.75pt; background-color: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt\" style=\"background-color: transparent; border-bottom-style: solid; border-bottom-width: 1pt; border-color: rgb(240, 240, 240) windowtext windowtext; border-left-style: solid; border-left-width: 1pt; border-right-style: solid; border-right-width: 1pt; padding: 0in 5.4pt; width: 80.75pt;\" valign=\"top\" width=\"108\">\n<div style=\"border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; line-height: normal; margin: 0in 0in 0pt; outline: 0px; padding: 0px; vertical-align: baseline;\">\n<span style=\"border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;\">Execution<o:p><\/o:p><\/span><\/div>\n<\/td>\n<td prevstyle=\"border-top: #f0f0f0; border-right: windowtext 1pt solid; border-bottom: windowtext 1pt solid; padding-bottom: 0in; padding-top: 0in; padding-left: 5.4pt; border-left: #f0f0f0; padding-right: 5.4pt; width: 2.5in; background-color: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt\" style=\"background-color: transparent; border-bottom-style: solid; border-bottom-width: 1pt; border-color: rgb(240, 240, 240) windowtext windowtext rgb(240, 240, 240); border-right-style: solid; border-right-width: 1pt; padding: 0in 5.4pt; width: 2.5in;\" valign=\"top\" width=\"240\">\n<div style=\"border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; line-height: normal; margin: 0in 0in 0pt; outline: 0px; padding: 0px; vertical-align: baseline;\">\n<span style=\"border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;\">Stored procedure can execute function.<o:p><\/o:p><\/span><\/div>\n<div style=\"border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; line-height: normal; margin: 0in 0in 0pt; outline: 0px; padding: 0px; vertical-align: baseline;\">\n<\/div>\n<div style=\"border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; line-height: normal; margin: 0in 0in 0pt; outline: 0px; padding: 0px; vertical-align: baseline;\">\n<span style=\"border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;\">Cannot be the part of Select query as a column.<o:p><\/o:p><\/span><\/div>\n<div style=\"border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; line-height: normal; margin: 0in 0in 0pt; outline: 0px; padding: 0px; vertical-align: baseline;\">\n<\/div>\n<div style=\"border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; line-height: normal; margin: 0in 0in 0pt; outline: 0px; padding: 0px; vertical-align: baseline;\">\n<span style=\"border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;\">Stored Procedures cannot be used in the SQL statements anywhere in the WHERE\/HAVING\/SELECT<o:p><\/o:p><\/span><\/div>\n<\/td>\n<td prevstyle=\"border-top: #f0f0f0; border-right: windowtext 1pt solid; border-bottom: windowtext 1pt solid; padding-bottom: 0in; padding-top: 0in; padding-left: 5.4pt; border-left: #f0f0f0; padding-right: 5.4pt; width: 206.75pt; background-color: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt\" style=\"background-color: transparent; border-bottom-style: solid; border-bottom-width: 1pt; border-color: rgb(240, 240, 240) windowtext windowtext rgb(240, 240, 240); border-right-style: solid; border-right-width: 1pt; padding: 0in 5.4pt; width: 206.75pt;\" valign=\"top\" width=\"276\">\n<div style=\"border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; line-height: normal; margin: 0in 0in 0pt; outline: 0px; padding: 0px; vertical-align: baseline;\">\n<span style=\"border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;\">Function cannot execute stored procedure.<o:p><\/o:p><\/span><\/div>\n<div style=\"border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; line-height: normal; margin: 0in 0in 0pt; outline: 0px; padding: 0px; vertical-align: baseline;\">\n<\/div>\n<div style=\"border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; line-height: normal; margin: 0in 0in 0pt; outline: 0px; padding: 0px; vertical-align: baseline;\">\n<span style=\"border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;\">Can be the part of select query as a column.<o:p><\/o:p><\/span><\/div>\n<div style=\"border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; line-height: normal; margin: 0in 0in 0pt; outline: 0px; padding: 0px; vertical-align: baseline;\">\n<\/div>\n<div style=\"border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; line-height: normal; margin: 0in 0in 0pt; outline: 0px; padding: 0px; vertical-align: baseline;\">\n<\/div>\n<div style=\"border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; line-height: normal; margin: 0in 0in 0pt; outline: 0px; padding: 0px; vertical-align: baseline;\">\n<span style=\"border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;\">Functions be used in the SQL statements anywhere in the WHERE\/HAVING\/SELECT<o:p><\/o:p><\/span><\/div>\n<\/td>\n<\/tr>\n<tr>\n<td prevstyle=\"border-top: #f0f0f0; border-right: windowtext 1pt solid; border-bottom: windowtext 1pt solid; padding-bottom: 0in; padding-top: 0in; padding-left: 5.4pt; border-left: windowtext 1pt solid; padding-right: 5.4pt; width: 80.75pt; background-color: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt\" style=\"background-color: transparent; border-bottom-style: solid; border-bottom-width: 1pt; border-color: rgb(240, 240, 240) windowtext windowtext; border-left-style: solid; border-left-width: 1pt; border-right-style: solid; border-right-width: 1pt; padding: 0in 5.4pt; width: 80.75pt;\" valign=\"top\" width=\"108\">\n<div style=\"border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; line-height: normal; margin: 0in 0in 0pt; outline: 0px; padding: 0px; vertical-align: baseline;\">\n<span style=\"border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;\">Exception handling<o:p><\/o:p><\/span><\/div>\n<\/td>\n<td prevstyle=\"border-top: #f0f0f0; border-right: windowtext 1pt solid; border-bottom: windowtext 1pt solid; padding-bottom: 0in; padding-top: 0in; padding-left: 5.4pt; border-left: #f0f0f0; padding-right: 5.4pt; width: 2.5in; background-color: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt\" style=\"background-color: transparent; border-bottom-style: solid; border-bottom-width: 1pt; border-color: rgb(240, 240, 240) windowtext windowtext rgb(240, 240, 240); border-right-style: solid; border-right-width: 1pt; padding: 0in 5.4pt; width: 2.5in;\" valign=\"top\" width=\"240\">\n<div style=\"border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; line-height: normal; margin: 0in 0in 0pt; outline: 0px; padding: 0px; vertical-align: baseline;\">\n<span style=\"border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;\">Can have Try&#8230;.Catch<o:p><\/o:p><\/span><\/div>\n<\/td>\n<td prevstyle=\"border-top: #f0f0f0; border-right: windowtext 1pt solid; border-bottom: windowtext 1pt solid; padding-bottom: 0in; padding-top: 0in; padding-left: 5.4pt; border-left: #f0f0f0; padding-right: 5.4pt; width: 206.75pt; background-color: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt\" style=\"background-color: transparent; border-bottom-style: solid; border-bottom-width: 1pt; border-color: rgb(240, 240, 240) windowtext windowtext rgb(240, 240, 240); border-right-style: solid; border-right-width: 1pt; padding: 0in 5.4pt; width: 206.75pt;\" valign=\"top\" width=\"276\">\n<div style=\"border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; line-height: normal; margin: 0in 0in 0pt; outline: 0px; padding: 0px; vertical-align: baseline;\">\n<span style=\"border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;\">Cannot have Try&#8230;.Catch<o:p><\/o:p><\/span><\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div style=\"background-color: white; border: 0px; color: #4b4b4c; font-family: arial; font-size: 12px; line-height: 18px; outline: 0px; padding: 0px; vertical-align: baseline;\">\n<\/div>\n<div style=\"background-color: white; border: 0px; color: #4b4b4c; font-family: arial; font-size: 12px; line-height: 18px; outline: 0px; padding: 0px; vertical-align: baseline;\">\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Stored Procedures are pre-compile objects which are compiled for first time and its compiled format is saved which executes (compiled code) whenever it is called. But Function is compiled and executed every time when it is called. Basic Difference Function must return a value but in Stored Procedure it is optional( Procedure can return zero [&hellip;]<\/p>\n","protected":false},"author":43,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_uag_custom_page_level_css":"","footnotes":""},"categories":[27],"tags":[],"class_list":["post-120","post","type-post","status-publish","format-standard","hentry","category-sql"],"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false},"uagb_author_info":{"display_name":"Himanshu Namdeo","author_link":"https:\/\/debuggersspace.com\/author\/admin\/"},"uagb_comment_info":0,"uagb_excerpt":"Stored Procedures are pre-compile objects which are compiled for first time and its compiled format is saved which executes (compiled code) whenever it is called. But Function is compiled and executed every time when it is called. Basic Difference Function must return a value but in Stored Procedure it is optional( Procedure can return zero&hellip;","_links":{"self":[{"href":"https:\/\/debuggersspace.com\/index.php\/wp-json\/wp\/v2\/posts\/120"}],"collection":[{"href":"https:\/\/debuggersspace.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/debuggersspace.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/debuggersspace.com\/index.php\/wp-json\/wp\/v2\/users\/43"}],"replies":[{"embeddable":true,"href":"https:\/\/debuggersspace.com\/index.php\/wp-json\/wp\/v2\/comments?post=120"}],"version-history":[{"count":0,"href":"https:\/\/debuggersspace.com\/index.php\/wp-json\/wp\/v2\/posts\/120\/revisions"}],"wp:attachment":[{"href":"https:\/\/debuggersspace.com\/index.php\/wp-json\/wp\/v2\/media?parent=120"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/debuggersspace.com\/index.php\/wp-json\/wp\/v2\/categories?post=120"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/debuggersspace.com\/index.php\/wp-json\/wp\/v2\/tags?post=120"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}