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が表示されます

ここで関数やビューを作成することはできますか? はいの場合、どのように行うことができますか?

4

1 に答える 1

0

次のようなことを試してください:

    declare @SqlStmt varchar(500)

    select @SqlStmt='CREATE FUNCTION schemaName.asdsfasdf() 
                     RETURNS int BEGIN return 1; end';
    exec(@SqlStmt)
于 2012-12-06T15:34:11.530 に答える