# SYSCS_UTIL.SYSCS_INVALIDATE_STORED_STATEMENTS system procedure

The `SYSCS_UTIL.SYSCS_INVALIDATE_STORED_STATEMENTS` system procedure invalidates all stored prepared statements (that is, all statements in the SYSSTATEMENTS system table).

The next time one of the invalid stored prepared statements in the SYSSTATEMENTS system table is executed, it will be recompiled, and a new plan will be generated for it.

Run `SYSCS_UTIL.SYSCS_INVALIDATE_STORED_STATEMENTS` whenever you think that your metadata queries or triggers are misbehaving -- for example, if they throw `java.lang.NoSuchMethodError` or `java.lang.NoSuchMethodException` on execution. Derby stores plans for triggers and metadata queries in the database. These should be invalidated automatically on upgrade and at other necessary times. Should you encounter an instance where they are not, you have found a bug that you should report, but one that you can likely work around by running `SYSCS_UTIL.SYSCS_INVALIDATE_STORED_STATEMENTS`.

## Syntax

    SYSCS_UTIL.SYSCS_INVALIDATE_STORED_STATEMENTS()

No result is returned by this procedure.

## Execute privileges

If authentication and SQL authorization are both enabled, only the database owner has execute privileges on this procedure by default. See "Configuring user authentication" and "Configuring user authorization" in the Derby Security Guide for more information. The database owner can grant access to other users.

## JDBC example

    CallableStatement cs = conn.prepareCall
    ("CALL SYSCS_UTIL.SYSCS_INVALIDATE_STORED_STATEMENTS()");
    cs.execute();
    cs.close();

## SQL Example

    CALL SYSCS_UTIL.SYSCS_INVALIDATE_STORED_STATEMENTS();

Parent topic: Built-in system procedures