Show pageOld revisionsBacklinksBack to top This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. ====== Create_Index subroutine ====== ==== Description ==== Creates a Btree, Cross Reference, or Relational index for a specified column in a table. The type of index you create dictates the calling syntax. ==== Syntax ==== equ BTREETYPE$ to 1 Create_Index(BTREETYPE$, //tablename//, //columnname//, //casemode//, //createmode//) equ CROSSREFTYPE$ to 2 Create_Index(CROSSREFTYPE$, //tablename//, //columnname//, //casemode//, //createmode//, //delimiterlist//, //stoplist//) equ RELATIONALTYPE$ to 3 Create_Index(RELATIONALTYPE$, //tablename//, //columnname//, //casemode//, //createmode//, //desttable//, //destcolumn//, //sortmode//) ==== Parameters ==== The Create_Index subroutine has the following parameters; the first five parameters are identical regardless of the type of index you create. Parameters that differ by index type are defined separately in the sections that follow. ^Parameter^Description^ |//indextype//|The value of this parameter specifies the type of index you create.\\ \\ __Value__ __Description__\\ 1 - Btree.\\ 2 - Cross Reference.\\ 3 - Relational.| |//tablename//|The name of the table to index.| |//columnname//|The name of the column to index.| |//casemode//|The case sensitivity of the index.\\ __Value__ __Description__\\ 0 - Creates an index that is not case-sensitive. All values are converted to uppercase in the index.\\ 1 - Creates a case-sensitive index. No case conversion is applied. Uppercase values saved to the index are stored in uppercase, and lowercase values saved to the index are stored in lowercase.| |//createmode//|Specifies whether to build the indexes immediately or process them at a later time.\\ \\ __Value__ __Description__\\ 0 - Build the index at a later time, using the Update_Index stored procedure.\\ 1 - Build the index immediately.| ==== See Also ==== [[cross_reference_indexes|Cross Reference indices]], [[relational_indexes|Relational indices]], Btree indices ==== Example ==== The following examples show how to create indexes, programmatically. <code> declare subroutine Create_Index declare function Get_Status /* Create a Btree index on the column PART_NAME in the table CAR_PARTS. Values in the index are not converted to uppercase. Indexes are not updated immediately. The system stored procedure Update_Index can be run at a later time to update the indexes. */ Create_Index("1", "CAR_PARTS", "PART_NAME", "1", "0") if Get_Status(ErrCodes) then GoSub ErrorHandling end /* Creates a Cross Reference index on the column TYPE_DESC in the CAR_PART_TYPES table. All values in the index are converted to uppercase. The indexes are built immediately. Delimiter_list is a space and a value mark. The default stop_list is used and two additional words are added to the default list: PRICE and DESCRIPTION. */ DelimiterList = "SPACE":@fm:"VM" StopList = "2":@fm:"PRICE":@vm:"DESCRIPTION" Create_Index("2", "CAR_PART_TYPES", "TYPE_DESC", "0", "1", DelimiterList, StopList) /* Creates a Relational index between the CAR_PARTS table and the ORDER_INFO table. Information in the indexes is converted to uppercase. The index is built immediately. The sort mode for the index is TOP. */ Create_Index("3", "CAR_PARTS", "ORDER_PLACE", "0", "1", "ORDER_INFO", "PARTS", "1") </code> guides/programming/programmers_reference_manual/create_index.txt Last modified: 2024/06/19 20:20by 127.0.0.1