读书人

存储过程可以内嵌函数吗?解决办法

发布时间: 2012-02-24 16:30:38 作者: rapoo

存储过程可以内嵌函数吗?
存储过程可以内嵌函数吗?

类似于下面这样,正确的语法应该怎么写:

CREATE PROCEDURE
AS
BEGIN
......

FUNCTION XYZ(@X NVARCHAR(20))
AS
BEGIN
......
END

......

END

[解决办法]
在存储过程里面可以调用自定义函数。

但是为什么要在存储过程里面创建自定义函数呢?
[解决办法]

SQL code
create proc p_testasbegin    declare @sql varchar(max)    set @sql = '        create function [f_test]()        returns int as        begin            return 1        end    '    exec(@sql)    select dbo.f_test()endgoexec p_test/*1*/
[解决办法]
探讨

SQL code
create proc p_test
as
begin
declare @sql varchar(max)
set @sql = '
create function [f_test]()
returns int as
begin
return 1
end
'
……

[解决办法]
确实没有,要用到函数直接在外键建一个,在存储过程里引用就是了。
[解决办法]
当然可以内嵌函数 不过不如直接调用函数多好??

读书人网 >SQL Server

热点推荐