1 CREATE
2 %RoutineType
3 RoutineName (
4 %ParameterList
5 )
6? %ReturnType
7? %Language
8? %ResultSet
9 %RoutineBody

RoutineType

1 FUNCTION
1 PROCEDURE

ParameterList

1+ ,
1? %Parameter

Parameter

1 IN (1) 
1 OUT
1 INOUT
2 ParameterName
3.0? CONSTANT
3.1 DataType
3 NAMESPACE (2) 
3 NAME
4! NULLABLE
4?
4 NOT NULL

ReturnType

1 RETURNS DataType
2! NULLABLE
2?
2 NOT NULL

Language

1 LANGUAGE
2 ESQL
2 DATABASE (3) 
2 .NET
2 CLR
2 JAVA

ResultSet

1 DYNAMIC RESULT SETS integer

RoutineBody

1 Statement
1 EXTERNAL NAME ExternalRoutineName
1.1? 
1.1 .NetTypeInfo
1.1 JavaClassLoaderService

.NetTypeInfo

1 ASSEMBLY AssemblyName
2+ 
2? 
2 APPDOMAIN DomainName
2 VERSION Version
2 CULTURE Culture
2 PUBLICKEYTOKEN PublicKeyToken
3


JavaClassLoaderService

1 CLASSLOADER ClassLoaderConfigurableServiceName