Retornar se uma coluna de tabela é serial no banco Logix.
LOG_db_column_isSerial( < l_tableName >, < l_columnName > ) => SMALLINT |
Nome | Tipo | Obrigatório? | Descrição |
---|---|---|---|
l_tableName |
| Sim | Nome da tabela no Banco de Dados. |
l_columnName |
| Sim | Nome da coluna de tabela no Banco de Dados. |
Tipo | Descrição |
---|---|
| TRUE - Coluna encontrada no banco de dados. FALSE - Coluna não encontrada no banco de dados. |
#------------------------------------# FUNCTION LOG_db_column_isSerial_test() #------------------------------------# DEFINE l_table, l_column CHAR(50) # O resultado deverá mostrar quando cada uma destas tabela/coluna é do tipo serial no banco de dados ou não, # respeitando como o serial é reconhecido em cada banco de dados homologado. IF LOG_db_column_isSerial("estoque_trans","num_seq") THEN CALL conout("num_seq COLUNA EH SERIAL... ") ELSE CALL conout("num_seq COLUNA NAO EH SERIAL... ") END IF IF LOG_db_column_isSerial("estoque_trans","num_transac") THEN CALL conout("num_transac COLUNA EH SERIAL... ") ELSE CALL conout("num_transac COLUNA NAO EH SERIAL... ") END IF IF LOG_db_column_isSerial("item_barra","cod_item_barra_ser") THEN CALL conout("cod_item_barra_ser COLUNA EH SERIAL... ") ELSE CALL conout("cod_item_barra_ser COLUNA NAO EH SERIAL... ") END IF END FUNCTION |
Fontes: dbinfo.4gl.
Para os bancos homologados no Logix existem formas diferentes de identificar quando uma coluna é do tipo serial, onde:
♦ No INFORMIX, o tipo da coluna é SERIAL
♦ No ORACLE, o tipo da coluna é NUMBER(10,0) e existe definição de SEQUENCE e TRIGGER de INSERT na tabela para fazer o ajuste automático da numeração da coluna.
♦ No MS SQLServer, o tipo da coluna é INTEGER, mas com a definição da propriedade IDENTITY.