When I was done building my procedure, I made sure I was able to do alterations by deleting the 'READS SQL DATA' statement, I saved, commited and was able to activate and execute. However, after restarting my HANA studio and AWS (HANA Developer Edition, SPS6) later, I got an error when I save or activate the procedure.
Assumption.
The SQL statements (just the DROP TABLE, INSERT, etc) will just run fine when I execute them under the SQL console. This led me to believe that the user that executes the command is different, I assume the procedure is created and activated under user SYSTEM, whilst the Console is executed by _SYS_BIC. That still doesn't explain why this worked perfectly the day before, plus I wouldn't know how to create this procedure under a system user. I cannot grant more authorizations to another user, as I am already logged in as the SYSTEM user...
Error message.
"You can only create a read-only procedure on this server." (appears next to the line where I declare the AS statement)
The detailed message when I try to activate:
ERROR paddle/00/procedures/TblCreate.procedure
Repository: Internal error during statement execution, please see the database error traces for additional details;error executing statement; feature not supported: DDL is not supported in the READ ONLY procedure/function at ptime/query/checker/proc_check_stmt.cc:577
ERROR paddle/00/procedures/TblCreate.procedure
Repository: Encountered an error in repository runtime extension;object was not activated due to previous activation errors
Code.
CREATE PROCEDURE TblCreate ( )
LANGUAGE SQLSCRIPT
SQL SECURITY INVOKER
AS
BEGIN
CREATE LOCAL TEMPORARY TABLE #tmp_sobl (v_key BIGINT, v_dte DAYDATE, v_tme TIME, v_ids TINYINT, v_akt TINYINT, v_stt TINYINT, v_lsr TINYINT);
INSERT INTO #tmp_sobl VALUES('2013080706000510001','2013-08-07','06:00:05',1,1,11,7);
SELECT * FROM #tmp_sobl;
END;
Does anyone know how I can manage to create a procedure that will allow me to INSERT, CREATE, etc?