Hi,
I am working on a way to use SQLCLI installing dbprocs on an db instance
(v7.5.00.24). If I try to compile the dbproc code via SQLCLI I get
following error while compiling the very same code via SQL Studio works.
Is there some who can give a hint?
Thanks in advance!!
sqlcli -n localhost -d <db_name> -u <schema owner>,<pwd> -m
sqlcli <db_name>=> \i <script path>\test.prc
* -5015: POS(1742) Missing keyword:FROM SQLSTATE: 42000
sqlcli <db_name>=>
The script content is following:
// Creating Procedure 'SNR_PUT_SYSTEM_LOG'
CREATE DBPROC testprc
(IN PIN_MSG_NO_IN INTEGER
,IN PIN_MSG_CLASS CHAR(3)
,IN PIN_MSG_TEXT CHAR(80)
,IN PIN_DESCRIPTION CHAR(300)
,IN PIN_CURRENT_USER CHAR(50)
,OUT POUT_MSG_NO_OUT INTEGER
) AS
VAR
v_msg_no INTEGER;
v_msg_class CHAR(3);
v_description CHAR(300);
v_current_user CHAR(50);
v_db_message_no INTEGER;
v_db_message_text CHAR(80);
v_db_return_code INTEGER;
v_db_error_msg CHAR(80);
v_ssm_id INTEGER;
v_msg_no_out INTEGER;
TRY
SET v_msg_no = pin_msg_no_in;
SET v_msg_class = pin_msg_class;
SET v_db_message_text = pin_msg_text;
SET v_description = pin_description;
SET v_current_user = pin_current_user;
SET v_db_return_code = 77777777;
SET v_db_error_msg = '##INIT ##';
SET v_db_message_no = 77777777;
SET v_ssm_id = 0;
SET v_msg_no_out = 77777777;
IF (v_msg_class IS NOT NULL) AND (v_current_user IS NOT NULL) AND
(v_msg_no IS NOT NULL) THEN
BEGIN /* (v_msg_class IS NOT NULL) AND (v_current_user IS NOT NULL) AND
(v_msg_no IS NOT NULL) */
IF v_msg_class = 'DB' THEN /* system message from DB server */
BEGIN /* v_msg_class = 'DB' */
SET v_db_message_no = pin_msg_no_in;
SET v_ssm_id = NULL;
INSERT INTO snr_owner.snr_system_log
(message_class,ssm_id,db_message_no,db_message_text,description)
VALUES
(:v_msg_class,:v_ssm_id,:v_db_message_no,:v_db_message_text,:v_description);
SET v_msg_no_out = 101; /* SNR1 confirm: SNR_PUT_SYS_LOG_OK */
END /* v_msg_class = 'DB' */
ELSE
BEGIN /* v_msg_class <> 'DB' */
SET v_db_message_no = NULL;
SELECT ssm_id,message_class INTO :v_ssm_id,:v_msg_class FROM
snr_owner.snr_system_messages WHERE message_no = :v_msg_no;
INSERT INTO snr_owner.snr_system_log
(message_class,ssm_id,db_message_no,db_message_text,description)
VALUES
(:v_msg_class,:v_ssm_id,:v_db_message_no,:v_db_message_text,:v_description);
SET v_msg_no_out = 101; /* SNR1 error: SNR_PUT_SYS_LOG_OK */
END; /* v_msg_class <> 'DB' */
END; /* (v_msg_class IS NOT NULL) AND (v_current_user IS NOT NULL) AND
(v_msg_no IS NOT NULL) */
CATCH
BEGIN /* begin CATCH block: other DB errors */
SET v_db_return_code = $RC;
IF v_db_return_code <> 0 THEN /* verify if DB errors occured */
BEGIN /* v_db_return_code <> 0 */
SET v_msg_no_out = 301; /* SNR1 error: SNR_PUT_SYS_LOG_ERR */
SET v_db_error_msg = $ERRMSG;
SET v_description = '## ERROR when INSERT in SNR_SYSTEM_LOG ##';
INSERT INTO snr_owner.snr_system_log
(message_class,ssm_id,db_message_no,db_message_text,description)
VALUES
('DB',NULL,:v_db_return_code,:v_db_error_msg,:v_description);
END; /* v_db_return_code <> 0 */
END; /* end CATCH block: other DB errors */
/* hand over output parameter */
SET pout_msg_no_out = v_msg_no_out;
//
kind regards
Frank
--
MaxDB Discussion Mailing List
For list archives: http://lists.mysql.com/maxdb
To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]