Hi, I have this SP:
CREATE DBPROC insert_error_recipient( IN a_event_id FIXED(12), IN a_recipient VARCHAR(64) ) AS VAR l_userid FIXED(9); BEGIN CALL get_or_create_user_id( :l_userid, NULL, SUBSTR(:a_recipient, 1, 64), NULL ); INSERT INTO cr_admin.ag_outbound_error_recipients ( eventid, indexid ) VALUES ( :a_event_id, :l_userid ); END; Now, since SUBSTR will always extend the string to 64 characters, I imagine this variant might be more efficient: CREATE DBPROC insert_error_recipient( IN a_event_id FIXED(12), IN a_recipient VARCHAR(64) ) AS VAR l_userid FIXED(9); BEGIN IF LENGTH(:a_recipient) > 64 THEN CALL get_or_create_user_id( :l_userid, NULL, SUBSTR(:a_recipient, 1, 64), NULL ); ELSE CALL get_or_create_user_id( :l_userid, NULL, :a_recipient, NULL ); END; INSERT INTO cr_admin.ag_outbound_error_recipients ( eventid, indexid ) VALUES ( :a_event_id, :l_userid ); END; What do the insiders say? Kind regards robert -- Have a look: http://www.flickr.com/photos/fussel-foto/ -- MaxDB Discussion Mailing List For list archives: http://lists.mysql.com/maxdb To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]