CREATE TABLE GIS2.SERVICES (
   ID INTEGER NOT NULL DEFAULT SERIAL(1) PRIMARY KEY,
   CODE VARCHAR(10) NOT NULL UNIQUE
)

CREATE TABLE GIS2.SERVICE_DATA (
   ID INTEGER NOT NULL DEFAULT SERIAL(1) PRIMARY KEY
)

CREATE FUNCTION GIS2.GETSERVICEID (
   RESID CHAR(10))
RETURNS INTEGER
AS
   VAR ID INTEGER;

   TRY
       SELECT ID INTO :ID FROM GIS2.SERVICES WHERE CODE = :RESID;
   CATCH
       IF $rc <> 100 THEN STOP($rc, 'unexpected error')
       ELSE RETURN NULL;

   RETURN ID;

EXPLAIN
SELECT ID
FROM GIS2.SERVICE_DATA
WHERE ID = 1

OWNER TABLENAME COLUMN_OR_INDEX STRATEGY PAGECOUNT -------- ------------- ------------------ -------------------------------------- ------------ GIS2 SERVICE_DATA EQUAL CONDITION FOR KEY 542 ID (USED KEY COLUMN) JDBC_CURSOR_4 RESULT IS NOT COPIED , COSTVALUE IS 1
EXPLAIN
SELECT ID
FROM GIS2.SERVICE_DATA
WHERE ID = GIS2.GETSERVICEID('12345')

OWNER TABLENAME COLUMN_OR_INDEX STRATEGY PAGECOUNT -------- ------------- ------------------ -------------------------------------- ------------ GIS2 SERVICE_DATA TABLE SCAN 35 JDBC_CURSOR_2 RESULT IS NOT COPIED , COSTVALUE IS 35
Tested on MaxDB 7.6.00.16 - 016-123-109-428.

--
MaxDB Discussion Mailing List
For list archives: http://lists.mysql.com/maxdb
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to