如何在存储过程中创建函数或视图

时间:2012-12-06 15:05:50

标签: mysql function stored-procedures views

在存储过程中,我知道您可以创建表或数据库或模式,但是可以创建函数或视图: 这是我试过的:

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

可以在这里创建函数或视图吗? 如果是的话怎么办?

1 个答案:

答案 0 :(得分:0)

尝试这样的事情:

    declare @SqlStmt varchar(500)

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