Sunteți pe pagina 1din 1

GRANT CREATE TABLE TO my_user;

DECLARE RetVal NUMBER; IN_ACCOUNTID VARCHAR2(200); IN_TABLENAME VARCHAR2(200); BEGIN IN_ACCOUNTID := '111'; IN_TABLENAME := 'ABC'; RetVal := PORTALUSER.CREATEINSERTUPDATEDELETE ( IN_ACCOUNTID, IN_TABLENAME ); DBMS_OUTPUT.PUT_LINE('Result ' || RetVal); END; CREATE OR REPLACE FUNCTION CreateInsertUpdateDelete ( In_AccountId VARCHAR2, In_TableName VARCHAR2 ) RETURN NUMBER IS varQueryString VARCHAR2(200); BEGIN INSERT INTO TEMP_MINDBRIDGE(QUERYSTRING) VALUES(In_AccountId); UPDATE TEMP_MINDBRIDGE SET QUERYSTRING = '222' WHERE QUERYSTRING = '111'; DELETE FROM TEMP_MINDBRIDGE WHERE QUERYSTRING = '444'; varQueryString := 'CREATE TABLE ' || In_TableName || '(QUERYSTRING VARCHAR2(4000 BYTE),ADD_DATE DATE DEFAULT SYSDATE)'; EXECUTE IMMEDIATE varQueryString; RETURN 0; EXCEPTION WHEN OTHERS THEN GV_EXCEPTION_LOGGING.INSERT_DB_LOG(SQLCODE,SQLERRM,'TestInsert',DBMS_UTIL ITY.FORMAT_ERROR_BACKTRACE,IN_ACCOUNTID); RETURN 1; END; /

S-ar putea să vă placă și