Stored Procedures

The stored procedure name for a table is generated by prefixing the table name with the string "R_i". Because table names are unique, this will generate unique stored procedure names. If the length of the table name is greater than MaxIdentifierLength-3, however, the table name generation algorithm fails. For this reason, a user may not supply a table name longer than MaxIdentifierLength-3. Supplying a longer name causes the error EREP_BADNAME.

When the user supplies no table name for an interface, the engine automatically generates the table name from the interface name. If the interface name, with the leading "I" stripped off, is less than MaxIdentifierLength-4, the interface name will be used as the table name. Otherwise, the interface name is truncated to MaxIdentifierLength-7, and a 4-character number (called a "uniqifier") is appended to the name to make it unique, before prefixing R_i.

The engine uses named arguments to call the stored procedures. A named argument starts with the "@" character and is not longer than MaxIdentifierLength. Therefore, the property names, which are also column names, must be no longer than MaxIdentifierLength-1.

MaxIdentifierLength’s are:

(c) 1988-1998 Microsoft Corporation. All Rights Reserved.