在oracle8.0.5以上版本运行:CREATE OR REPLACE PROCEDURE "CREATETMYABLE" (
createtablesql IN VARCHAR2
execresult OUT VARCHAR2
)
AS
BEGIN
EXECUTE IMMEDIATE createtablesql;
COMMIT;
execresult := 'T';
EXCEPTION
WHEN OTHERS
THEN
ROLLBACK;
execresult := 'F' || SQLCODE;
END "CREATEMYTABLE";
/
createtablesql IN VARCHAR2
execresult OUT VARCHAR2
)
AS
BEGIN
EXECUTE IMMEDIATE createtablesql;
COMMIT;
execresult := 'T';
EXCEPTION
WHEN OTHERS
THEN
ROLLBACK;
execresult := 'F' || SQLCODE;
END "CREATEMYTABLE";
/
CREATE OR REPLACE FUNCTION ALTER_CONS
(I_table VARCHAR2)-----默认是传进参数
RETURN INTEGER
IS
I_table VARCHAR2(100);
C_SQL NUMBER;
RET NUMBER;
P_ERROR INTEGER;
BEGIN
P_ERROR := 0;
C_SQL := DBMS_SQL.OPEN_CURSOR;
BEGIN
DBMS_SQL.PARSE( C_SQL, I_table , DBMS_SQL.v7 ) ;
ret := DBMS_SQL.EXECUTE( C_SQL ) ;
EXCEPTION
WHEN OTHERS THEN
P_ERROR := P_ERROR + 1;
END;
END LOOP;
DBMS_SQL.CLOSE_CURSOR(C_SQL);
RETURN P_ERROR;
END ALTER_CONS;
/
SHOW ERROR
CREATE OR REPLACE FUNCTION ALTER_TABLE
(I_table VARCHAR2)-----默认是传进参数
RETURN INTEGER
IS
C_SQL NUMBER;
RET NUMBER;
P_ERROR INTEGER;
BEGIN
P_ERROR := 0;
C_SQL := DBMS_SQL.OPEN_CURSOR;
BEGIN
DBMS_SQL.PARSE( C_SQL, I_table , DBMS_SQL.v7 ) ;
ret := DBMS_SQL.EXECUTE( C_SQL ) ;
EXCEPTION
WHEN OTHERS THEN
P_ERROR := P_ERROR + 1;
END;
DBMS_SQL.CLOSE_CURSOR(C_SQL);
RETURN P_ERROR;
END ALTER_TABLE;
/
SHOW ERROR
你写的是运行什么的函数?