📄 isqlext.h
字号:
#define SQL_C_INTERVAL_MINUTE SQL_INTERVAL_MINUTE#define SQL_C_INTERVAL_SECOND SQL_INTERVAL_SECOND#define SQL_C_INTERVAL_DAY_TO_HOUR SQL_INTERVAL_DAY_TO_HOUR#define SQL_C_INTERVAL_DAY_TO_MINUTE SQL_INTERVAL_DAY_TO_MINUTE#define SQL_C_INTERVAL_DAY_TO_SECOND SQL_INTERVAL_DAY_TO_SECOND#define SQL_C_INTERVAL_HOUR_TO_MINUTE SQL_INTERVAL_HOUR_TO_MINUTE#define SQL_C_INTERVAL_HOUR_TO_SECOND SQL_INTERVAL_HOUR_TO_SECOND#define SQL_C_INTERVAL_MINUTE_TO_SECOND SQL_INTERVAL_MINUTE_TO_SECOND#define SQL_C_NUMERIC SQL_NUMERIC#define SQL_C_VARBOOKMARK SQL_C_BINARY#define SQL_C_SBIGINT (SQL_BIGINT + SQL_SIGNED_OFFSET)#define SQL_C_UBIGINT (SQL_BIGINT + SQL_UNSIGNED_OFFSET)#define SQL_TRUE 1UL#define SQL_FALSE 0UL/* SQLGetData */#define SQL_NO_TOTAL (-4)/* SQLBindParameter */#define SQL_LEN_DATA_AT_EXEC_OFFSET (-100)#define SQL_LEN_DATA_AT_EXEC(length) (-length+SQL_LEN_DATA_AT_EXEC_OFFSET)#define SQL_LEN_BINARY_ATTR_OFFSET (-100)#define SQL_LEN_BINARY_ATTR(length) (-(length)+SQL_LEN_BINARY_ATTR_OFFSET)/* SQLExtendedFetch - row status */#define SQL_ROW_SUCCESS 0#define SQL_ROW_DELETED 1#define SQL_ROW_UPDATED 2#define SQL_ROW_NOROW 3#define SQL_ROW_ADDED 4#define SQL_ROW_ERROR 5/* SQLForeignKeys - rule flags */#define SQL_CASCADE 0#define SQL_RESTRICT 1#define SQL_SET_NULL 2#define SQL_NO_ACTION 3 /* ODBC 3.0 */#define SQL_SET_DEFAULT 4/* SQLForeignKeys - Deferrability (ODBC 3.0) */#define SQL_INITIALLY_DEFERRED 5#define SQL_INITIALLY_IMMEDIATE 6#define SQL_NOT_DEFFERABLE 2/* Constants not in isqlext.h but needed by the driver. I have no idea* if these correspond correctly with those from Microsoft or not. I don't* know that it matters as long as the symbolic names are used. I simply* assigned the numbers in the order they appear in the SQLGetInfo function* of postodbc.*//* * SQLGetInfo */#define SQL_ACTIVE_CONNECTIONS 0#define SQL_ACTIVE_STATEMENTS 1#define SQL_DATA_SOURCE_NAME 2#define SQL_DRIVER_VER 7 #define SQL_FETCH_DIRECTION 8#define SQL_ODBC_API_CONFORMANCE 9 #define SQL_ROW_UPDATES 11 #define SQL_ODBC_SAG_CLI_CONFORMANCE 12 #define SQL_SERVER_NAME 13#define SQL_SEARCH_PATTERN_ESCAPE 14#define SQL_ODBC_SQL_CONFORMANCE 15 #define SQL_DBMS_NAME 17#define SQL_DBMS_VER 18#define SQL_ACCESSIBLE_TABLES 19#define SQL_ACCESSIBLE_PROCEDURES 20#define SQL_PROCEDURES 21 #define SQL_CONCAT_NULL_BEHAVIOR 22 #define SQL_DATA_SOURCE_READ_ONLY 25#define SQL_EXPRESSIONS_IN_ORDERBY 27 #define SQL_IDENTIFIER_CASE 28#define SQL_IDENTIFIER_QUOTE_CHAR 29#define SQL_MAX_COLUMN_NAME_LEN 30#define SQL_MAX_CURSOR_NAME_LEN 31#define SQL_MAX_OWNER_NAME_LEN 32#define SQL_MAX_PROCEDURE_NAME_LEN 33 #define SQL_MAX_QUALIFIER_NAME_LEN 34#define SQL_MAX_TABLE_NAME_LEN 35#define SQL_MULT_RESULT_SETS 36 #define SQL_MULTIPLE_ACTIVE_TXN 37 #define SQL_OUTER_JOINS 38 #define SQL_OWNER_TERM 39 #define SQL_PROCEDURE_TERM 40 #define SQL_QUALIFIER_NAME_SEPARATOR 41 #define SQL_QUALIFIER_TERM 42 #define SQL_SCROLL_CONCURRENCY 43#define SQL_SCROLL_OPTIONS 44 #define SQL_TABLE_TERM 45 #define SQL_TXN_CAPABLE 46#define SQL_USER_NAME 47#define SQL_CONVERT_FUNCTIONS 48 #define SQL_NUMERIC_FUNCTIONS 49 #define SQL_STRING_FUNCTIONS 50 #define SQL_SYSTEM_FUNCTIONS 51 #define SQL_TIMEDATE_FUNCTIONS 52 #define SQL_CONVERT_BIGINT 53 #define SQL_CONVERT_BINARY 54 #define SQL_CONVERT_BIT 55 #define SQL_CONVERT_CHAR 56 #define SQL_CONVERT_DATE 57 #define SQL_CONVERT_DECIMAL 58 #define SQL_CONVERT_DOUBLE 59 #define SQL_CONVERT_FLOAT 60 #define SQL_CONVERT_INTEGER 61 #define SQL_CONVERT_LONGVARCHAR 62 #define SQL_CONVERT_NUMERIC 63 #define SQL_CONVERT_REAL 64 #define SQL_CONVERT_SMALLINT 65 #define SQL_CONVERT_TIME 66 #define SQL_CONVERT_TIMESTAMP 67 #define SQL_CONVERT_TINYINT 68 #define SQL_CONVERT_VARBINARY 69 #define SQL_CONVERT_VARCHAR 70 #define SQL_CONVERT_LONGVARBINARY 71 #define SQL_ODBC_SQL_OPT_IEF 73#define SQL_CORRELATION_NAME 74 #define SQL_LOCK_TYPES 78 #define SQL_POS_OPERATIONS 79 #define SQL_POSITIONED_STATEMENTS 80 #define SQL_GETDATA_EXTENSIONS 81#define SQL_BOOKMARK_PERSISTENCE 82 #define SQL_STATIC_SENSITIVITY 83 #define SQL_FILE_USAGE 84 #define SQL_NULL_COLLATION 85#define SQL_ALTER_TABLE 86#define SQL_COLUMN_ALIAS 87 #define SQL_GROUP_BY 88 #define SQL_KEYWORDS 89 #define SQL_ORDER_BY_COLUMNS_IN_SELECT 90#define SQL_OWNER_USAGE 91 #define SQL_QUALIFIER_USAGE 92 #define SQL_QUOTED_IDENTIFIER_CASE 93 #define SQL_SPECIAL_CHARACTERS 94#define SQL_SUBQUERIES 95 #define SQL_UNION 96 #define SQL_MAX_COLUMNS_IN_GROUP_BY 97#define SQL_MAX_COLUMNS_IN_INDEX 98#define SQL_MAX_COLUMNS_IN_ORDER_BY 99#define SQL_MAX_COLUMNS_IN_SELECT 100#define SQL_MAX_COLUMNS_IN_TABLE 101#define SQL_MAX_INDEX_SIZE 102#define SQL_MAX_ROW_SIZE_INCLUDES_LONG 103 #define SQL_MAX_ROW_SIZE 104#define SQL_MAX_STATEMENT_LEN 105#define SQL_MAX_TABLES_IN_SELECT 106#define SQL_MAX_USER_NAME_LEN 107#define SQL_MAX_CHAR_LITERAL_LEN 108 #define SQL_TIMEDATE_ADD_INTERVALS 109 #define SQL_TIMEDATE_DIFF_INTERVALS 110 #define SQL_NEED_LONG_DATA_LEN 111 #define SQL_MAX_BINARY_LITERAL_LEN 112 #define SQL_LIKE_ESCAPE_CLAUSE 113 #define SQL_OJ_CAPABILITIES 65003/* ODBC 3.0 alias */#define SQL_MAX_SCHEMA_NAME_LEN SQL_MAX_OWNER_NAME_LEN/* Bit Masks describing the behaviour of the GetInfo functions named above *//* * alter table behaviour(4 byte val) */#define SQL_AT_ADD_COLUMN 0x00000001L#define SQL_AT_DROP_COLUMN 0x00000002L/* * BookMark Persistence, a SQLUINTEGER bitmask(ie 4 bytes)*/#define SQL_BP_CLOSE 0x00000001L#define SQL_BP_DELETE 0x00000002L#define SQL_BP_DROP 0x00000004L#define SQL_BP_TRANSACTION 0x00000008L#define SQL_BP_UPDATE 0x00000010L#define SQL_BP_OTHER_HSTMT 0x00000020L#define SQL_BP_SCROLL 0x00000040L/* * Conversion bitmasks for testing which conversions are supported by * the driver. An application compares the returned bitmask with these * to determine which conversions are supported. The driver ANDS these * for the returned bitmask to indicate the supported conversions.(type * is SQLUINTEGER, i.e. 4 bytes). Note that these masks are defined in * alphabetical order, I have no idea if this maps to MS's SDK. */#define SQL_CVT_CHAR 0x00000001L#define SQL_CVT_NUMERIC 0x00000002L#define SQL_CVT_DECIMAL 0x00000004L#define SQL_CVT_INTEGER 0x00000008L#define SQL_CVT_SMALLINT 0x00000010L#define SQL_CVT_FLOAT 0x00000020L#define SQL_CVT_REAL 0x00000040L#define SQL_CVT_DOUBLE 0x00000080L#define SQL_CVT_VARCHAR 0x00000100L#define SQL_CVT_LONGVARCHAR 0x00000200L#define SQL_CVT_BINARY 0x00000400L#define SQL_CVT_VARBINARY 0x00000800L#define SQL_CVT_BIT 0x00001000L#define SQL_CVT_TINYINT 0x00002000L#define SQL_CVT_BIGINT 0x00004000L#define SQL_CVT_DATE 0x00008000L#define SQL_CVT_TIME 0x00010000L#define SQL_CVT_TIMESTAMP 0x00020000L#define SQL_CVT_LONGVARBINARY 0x00040000L/* extras added in ODBC 3.0 */#define SQL_CVT_INTERVAL_YEAR_MONTH 0x00080000L#define SQL_CVT_INTERVAL_DAY_TIME 0x00100000L/* * concat null behaviour(2 byte val) */#define SQL_CB_NULL 0x0000#define SQL_CB_NON_NULL 0x0001/* * correlation name */#define SQL_CN_NONE 0x0000#define SQL_CN_DIFFERENT 0x0001#define SQL_CN_ANY 0x0002/* * Fetch Direction. A SQLINTEGER bitmask enumerating the supported fetch * direction options. This information type has been deprecated in * ODBC 3.0. */#define SQL_FD_FETCH_NEXT 0x00000001L#define SQL_FD_FETCH_FIRST 0x00000002L#define SQL_FD_FETCH_LAST 0x00000004L#define SQL_FD_FETCH_PRIOR 0x00000008L#define SQL_FD_FETCH_ABSOLUTE 0x00000010L#define SQL_FD_FETCH_RELATIVE 0x00000020L#define SQL_FD_FETCH_RESUME 0x00000040L#define SQL_FD_FETCH_BOOKMARK 0x00000080L/* * Conversion bitmasks for testing which function conversions are supported by * the driver. An application compares the returned bitmask with these * to determine which conversions are supported. The driver ANDS these * for the returned bitmask to indicate the supported conversions.(type * is SQLUINTEGER, i.e. 4 bytes). Note that these masks are defined in * alphabetical order, I have no idea if this maps to MS's SDK. */#define SQL_FN_CVT_CONVERT 0x00000001L#define SQL_FN_CVT_CAST 0x00000002L/* * File Usage. A SQLUSMALLINT indicating how a singel-tier driver treats * files in a data source. */#define SQL_FILE_NOT_SUPPORTED 0x0000#define SQL_FILE_TABLE 0x0001#define SQL_FILE_QUALIFIER 0x0002#define SQL_FILE_CATALOG SQL_FILE_CATALOG/* * GetData Extensions. A SQLUINTEGER(4 bytes) bitmask enumerating extensions * to SQLGetData. */#define SQL_GD_ANY_COLUMN 0x00000001L#define SQL_GD_ANY_ORDER 0x00000002L#define SQL_GD_BLOCK 0x00000004L#define SQL_GD_BOUND 0x00000008L/* * Group By. A SQLUSMALLINT value specifying the relationship between the * columns in the GROUP BY clause and the non-aggregated columns in the * select list.*/#define SQL_GB_NOT_SUPPORTED 0x0000#define SQL_GB_GROUP_BY_EQUALS_SELECT 0x0001#define SQL_GB_GROUP_BY_CONTAINS_SELECT 0x0002#define SQL_GB_NO_RELATION 0x0003/* added in ODBC 3.0 */#define SQL_GB_COLLATE 0x0004/* * Identifier Case. A SQLUSMALLINT indicating how identifiers are handled. */#define SQL_IC_UPPER 0x0001#define SQL_IC_LOWER 0x0002#define SQL_IC_SENSITIVE 0x0003#define SQL_IC_MIXED 0x0004/* * Lock types. A SQLINTEGER bitmask enumerating the supported lock types for * the fLock argument in SQLSetPos. Depreciated in 3.0. */#define SQL_LCK_NO_CHANGE 0x00000001L#define SQL_LCK_EXCLUSIVE 0x00000002L#define SQL_LCK_UNLOCK 0x00000004L/* * Non Nullable Columns. A SQLUSMALLINT value indicating if the data source * supports NOT NULL in columns. */#define SQL_NNC_NULL 0x0000#define SQL_NNC_NON_NULL 0x0001/* * Null Collation. A SQLUSMALLINT value specifying where NULLS are sorted in * a result set. */#define SQL_NC_HIGH 0x0001#define SQL_NC_LOW 0x0003#define SQL_NC_START 0x0002#define SQL_NC_END 0x0004/* * Numeric Functions. A SQLUINTEGER bitmask enumerating the scalar numeric * functions supported by the driver and associated data source. */#define SQL_FN_NUM_ABS 0x00000001L#define SQL_FN_NUM_ACOS 0x00000002L#define SQL_FN_NUM_ASIN 0x00000004L#define SQL_FN_NUM_ATAN 0x00000008L#define SQL_FN_NUM_ATAN2 0x00000010L#define SQL_FN_NUM_CEILING 0x00000020L#define SQL_FN_NUM_COS 0x00000040L#define SQL_FN_NUM_COT 0x00000080L#define SQL_FN_NUM_EXP 0x00000100L#define SQL_FN_NUM_FLOOR 0x00000200L#define SQL_FN_NUM_LOG 0x00000400L#define SQL_FN_NUM_MOD 0x00000800L#define SQL_FN_NUM_SIGN 0x00001000L#define SQL_FN_NUM_SIN 0x00002000L#define SQL_FN_NUM_SQRT 0x00004000L#define SQL_FN_NUM_TAN 0x00008000L#define SQL_FN_NUM_PI 0x00010000L#define SQL_FN_NUM_RAND 0x00020000L/* Added in ODBC 2.0 */#define SQL_FN_NUM_DEGREES 0x00040000L#define SQL_FN_NUM_LOG10 0x00080000L#define SQL_FN_NUM_POWER 0x00100000L#define SQL_FN_NUM_RADIANS 0x00200000L#define SQL_FN_NUM_ROUND 0x00400000L#define SQL_FN_NUM_TRUNCATE 0x00800000L/* * Outer Join Capabilites. A SQLUINTEGER bitmask enumerating the types of * outer joins supported by the driver and data source. */#define SQL_OJ_LEFT 0x00000001L#define SQL_OJ_RIGHT 0x00000002L#define SQL_OJ_FULL 0x00000004L#define SQL_OJ_NESTED 0x00000008L#define SQL_OJ_NOT_ORDERED 0x00000010L#define SQL_OJ_INNER 0x00000020L#define SQL_OJ_ALL_COMPARISON_OPS 0x00000040L/* * ODBC API Conformance. A SQLSMALLINT value indicating a drivers ODBC * level conformance. Depreciated in 3.0. */#define SQL_OAC_NONE 0x0000#define SQL_OAC_LEVEL1 0x0001#define SQL_OAC_LEVEL2 0x0002/* * ODBC SAG CLI Conformance. A SQLSMALLINT value indicating a drivers * SAG CLI conformance. */#define SQL_OSCC_NOT_COMPLIANT 0x0000#define SQL_OSCC_COMPLIANT 0x0001/* * ODBC SQL Conformance. A SQLSMALLINT value indicating a drivers SQL * grammar support. Depreciated in 3.0. */#define SQL_OSC_MINIMUM 0x0000#define SQL_OSC_CORE 0x0001#define SQL_OSC_EXTENDED 0x0002/* * Owner Usage. A SQLUINTEGER bitmask. */#define SQL_OU_DML_STATEMENTS 0x00000001L#define SQL_OU_PROCEDURE_INVOCATION 0x00000002L#define SQL_OU_TABLE_DEFINITION 0x00000004L#define SQL_OU_INDEX_DEFINITION 0x00000008L#define SQL_OU_PRIVILEGE_DEFINITION 0x00000010L/* * Schema Usage. A SQLUINTEGER bitmask enumerating the statements in which * schemas can be used. Renamed in ODBC 3.0 from SQL_OWNER_USAGE */#define SQL_SU_DML_STATEMENTS SQL_OU_DML_STATEMENTS#define SQL_SU_PROCEDURE_INVOCATION SQL_OU_PROCEDURE_INVOCATION#define SQL_SU_TABLE_DEFINITION SQL_OU_TABLE_DEFINITION#define SQL_SU_INDEX_DEFINITION SQL_OU_INDEX_DEFINITION#define SQL_SU_PRIVILEGE_DEFINITION SQL_OU_PRIVILEGE_DEFINITION/* * Pos. Operations. A SQLINTEGER bitmask enumerating the supported operations * in SQLSetPos. Depreciated in ODBC 3.0. */#define SQL_POS_POSITION 0x00000001L#define SQL_POS_REFRESH 0x00000002L#define SQL_POS_UPDATE 0x00000004L#define SQL_POS_DELETE 0x00000008L#define SQL_POS_ADD 0x00000010L/* * SQLSetPos */#define SQL_ENTIRE_ROWSET 0#define SQL_POSITION 0#define SQL_REFRESH 1#define SQL_UPDATE 2#define SQL_DELETE 3#define SQL_ADD 4/* * SQLSetPos Lock options*/#define SQL_LOCK_NO_CHANGE 0 #define SQL_LOCK_EXCLUSIVE 1 #define SQL_LOCK_UNLOCK 2#define SQL_POSITION_TO(hstmt,irow) \ SQLSetPos(hstmt,irow,SQL_POSITION,SQL_LOCK_NO_CHANGE)#define SQL_LOCK_RECORD(hstmt,irow,fLock) \ SQLSetPos(hstmt,irow,SQL_POSITION,fLock)#define SQL_REFRESH_RECORD(hstmt,irow,fLock) \ SQLSetPos(hstmt,irow,SQL_REFRESH,fLock)#define SQL_UPDATE_RECORD(hstmt,irow) \ SQLSetPos(hstmt,irow,SQL_UPDATE,SQL_LOCK_NO_CHANGE)#define SQL_DELETE_RECORD(hstmt,irow) \ SQLSetPos(hstmt,irow,SQL_DELETE,SQL_LOCK_NO_CHANGE)#define SQL_ADD_RECORD(hstmt,irow) \ SQLSetPos(hstmt,irow,SQL_ADD,SQL_LOCK_NO_CHANGE)/* * Positioned Statements. A SQLINTEGER bitmask enumerating the supported * positioned SQL statements. */#define SQL_PS_POSITIONED_DELETE 0x00000001L#define SQL_PS_POSITIONED_UPDATE 0x00000002L#define SQL_PS_SELECT_FOR_UPDATE 0x00000004L/* Qualifier Location. A SQLUSMALLINT value indicating the position of the * catalog in a qualified table name. */#define SQL_QL_START 0x0001#define SQL_QL_END 0x0002/* * Qualifier Usage. A SQLUINTEGER bitmask. */#define SQL_QU_DML_STATEMENTS 0x00000001L#define SQL_QU_PROCEDURE_INVOCATION 0x00000002L#define SQL_QU_TABLE_DEFINITION 0x00000004L#define SQL_QU_INDEX_DEFINITION 0x00000008L#define SQL_QU_PRIVILEGE_DEFINITION 0x00000010L/* The above is renamed in ODBC 3.0 to Catalog Usage. */#define SQL_CU_DML_STATEMENTS SQL_QU_DML_STATEMENTS#define SQL_CU_PROCEDURE_INVOCATION SQL_QU_PROCEDURE_INVOCATION#define SQL_CU_TABLE_DEFINITION SQL_QU_TABLE_DEFINITION#define SQL_CU_INDEX_DEFINITION SQL_QU_INDEX_DEFINITION#define SQL_CU_PRIVILEGE_DEFINITION SQL_QU_PRIVILEGE_DEFINITION/* ODBC 3.0 renamed the above to Catalog Location. */#define SQL_CL_START SQL_QL_START#define SQL_CL_END SQL_QL_END/* * Scroll Concurrency. A SQLINTEGER bitmask enumerating the concurrency * control options supported for the cursor. Depreciated in ODBC 3.0. */#define SQL_SCCO_READ_ONLY 0x00000001L#define SQL_SCCO_LOCK 0x00000002L#define SQL_SCCO_OPT_ROWVER 0x00000004L#define SQL_SCCO_OPT_VALUES 0x00000008L/* * Scroll Options. A SQLUINTEGER bitmask enumerating the scroll options * supported for scrollable cursors. */#define SQL_SO_FORWARD_ONLY 0x00000001L#define SQL_SO_KEYSET_DRIVEN 0x00000002L#define SQL_SO_DYNAMIC 0x00000004L#define SQL_SO_MIXED 0x00000008L#define SQL_SO_STATIC 0x00000010L/* * Static Sensitity. A SQLINTEGER bitmask enumerating whether changes made * by an application to a static or keyset-driven cursor through SQLSetPos * or positioned update or delete statements can be detected by that * application. */#define SQL_SS_ADDITIONS 0x00000001L#define SQL_SS_DELETIONS 0x00000002L#define SQL_SS_UPDATES 0x00000004L /* * String Functions. A SQLUINTEGER bitmask enumerating the scalar string * functions supported by the driver and associated data source. */#define SQL_FN_STR_CONCAT 0x00000001L#define SQL_FN_STR_INSERT 0x00000002L#define SQL_FN_STR_LEFT 0x00000004L#define SQL_FN_STR_LTRIM 0x00000008L#define SQL_FN_STR_LENGTH 0x00000010L#define SQL_FN_STR_LOCATE 0x00000020L
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -