DDL commands that affect temporary objects lacking a permanent object ID are local. This includes these object types:
Local temporary tables
Local procedures
Temporary options
DDL Commands that create, alter, or drop an permanent object ID in the ISYSOBJECT table are global. This includes the following object types:
Table – includes SA base tables, IQ base tables, and global temporary tables
View
Materialized view
Column
Index
Procedure
Trigger
Event
User
Publication
Remote type
Login mapping
JAR
Java class
Service
Database options (minus locally scoped option exceptions).
Global DDL commands cannot be run if the coordinator node
is not running. Attempting to do so results in the error SQLCODE:
-1004011, SQLSTATE QIA11: Coordinator node not responding
.
When creating objects that are global in scope, make sure that they do not depend on objects that are local in scope. For example, if you create a temporary function or stored procedure:
CREATE TEMPORARY FUNCTION f1() RETURNS INT BEGIN RETURN 1; END
Next, if you try to create a view that is dependent on the temporary function:
CREATE VIEW v1 AS SELECT * FROM f1()
Sybase IQ does not allow such operations in a multiplex environment
and returns the error Procedure 'f1' not found
since
it is not a permanent procedure.