2012-12-06 29 views
0

我知道你可以创建表或数据库或模式,但是有可能创建一个函数或视图: 这里是我尝试的:如何在存储过程中创建函数或视图

create PROCEDURE schemaName.asd() 
begin 
DECLARE stmt VARCHAR(255); 

SET stmt := concat('CREATE FUNCTION schemaName.asdsfasdf() RETURNS int BEGIN return 1; end;'); 

PREPARE stmt FROM @stmt; 

EXECUTE stmt; 
end; 

当我这样做

call schemaName.asd()$$ 

,我也得到一个错误代码1064

是否有可能在这里创建功能或意见? 如果是的话该怎么办?

回答

0

尝试这样:

declare @SqlStmt varchar(500) 

    select @SqlStmt='CREATE FUNCTION schemaName.asdsfasdf() 
        RETURNS int BEGIN return 1; end'; 
    exec(@SqlStmt)