PL reserved keywords are identifiers that have special meanings in PL and cannot be used as names for stored procedures, functions, types, variables, and so on. PL non-reserved keywords can be used as identifiers without enclosing them in quotation marks. They are not case-sensitive.
PL reserved keywords
| Initial letter | Reserved keywords |
|---|---|
| A | ALTER |
| B | BEFORE, BY |
| C | CALL, CASE, CONDITION, CONTINUE, CREATE, CURRENT_USER, CURSOR, COMMIT |
| D | DECLARE, DEFAULT, DELETE, DETERMINISTIC, DROP, DO |
| E | EXISTS, ELSE, ELSIF, EXISTS, EXIT |
| F | FETCH, FOR, FROM |
| I | IF, IN, INDEX, INDEXES, INOUT, INSERT, INTO IS ITERATE |
| L | LEAVE, LIMIT, LONG, LOOP |
| M | MODIFIES |
| N | NOT |
| O | ON, OR, OUT |
| P | PROCEDURE |
| R | READS, REPEAT, REPLACE, RESIGNAL, RETURN |
| S | SELECT, SIGNAL, SQL, SQLEXCEPTION, SQLSTATE, SQLWARNING |
| T | TABLE, THEN, TRIGGER |
| U | UPDATE, USING, UNTIL |
| W | WHEN, WHILE |
PL non-reserved keywords
| Initial letter | Reserved keywords |
|---|---|
| A | AFTER, AUTHID |
| B | BEGIN_KEY, BINARY_INTEGER, BODY |
| C | C, CATALOG_NAME CLASS_ORIGIN, CLOSE, COLUMN_NAME, COMMENT, CONSTRAINT_CATALOG, CONSTRAINT_NAME, CONSTRAINT_ORIGIN, CONSTRAINT_SCHEMA, CONTAINS, COUNT, CURSOR_NAME |
| D | DATA, DEFINER |
| E | END_KEY, EXTEND |
| F | FOUND, FUNCTION |
| H | HANDLER |
| I | INTERFACE, INVOKER |
| J | JSON |
| L | LANGUAGE |
| M | MESSAGE_TEXT, MYSQL_ERRNO |
| N | NEXT, NO |
| O | OF, OPEN |
| P | PACKAGE, PRAGMA |
| R | RECORD, RETURNS, ROW, ROWTYPE |
| S | SCHEMA_NAME, SECURITY, SUBCLASS_ORIGIN |
| T | TABLE_NAME, TYPE |
| V | VALUE |
