https://docs.oracle.com/database/121/SUTIL/GUID-AEBA1A45-2394-4947-81CB-37CD99BA5BA9.htm
我在获取每个表和每个字段时遇到问题
这是我的 sql,我不知道如何废弃所有表。我只能让一些表被废弃……我不是它的开发者……我是 只是想帮助也不是开发人员的其他人...
我只是想把它变成excel ...
一个 json 或一个 CSV 就可以了...... 使用正则表达式,随便
我很绝望我不知道如何解决这个问题
这是 Oracle SQLLdr,
请帮助我这两周一直在尝试无数的事情。我正在寻求帮助
我不能像这样废弃两种不同类型的桌子
INTO TABLE FUSION.CSE_INT_BATCHES_TL
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' TRAILING NULLCOLS
( INTERFACE_BATCH_ID POSITION(1) "FUSION.CSE_LOAD_INTERFACE_UTILS_PKG.get_batch_id(:INTERFACE_BATCH_ID)"
, INTERFACE_BATCH_NAME
, INTERFACE_BATCH_DESCRIPTION
, SOURCE_SYSTEM_TYPE FILLER
, SOURCE_SYSTEM_CODE FILLER
和
APPEND
INTO TABLE DOO_ORDER_CHARGE_TIERS_INT
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
TRAILING NULLCOLS
(
SOURCE_TRANSACTION_ID CHAR(50),
SOURCE_TRANSACTION_SYSTEM CHAR(30),
SOURCE_TRANSACTION_LINE_ID CHAR(50),
SOURCE_TRANSACTION_SCHEDULE_ID CHAR(50),
SOURCE_CHARGE_ID CHAR(120),
sql_code = re.sub(r'--.*\n', '', sql_code)
# Remove lines starting with FIELDS
sql_code = re.sub(r'FIELDS.*\n', '', sql_code)
# Regular expression to find tables and fields
tables_pattern = re.compile(r'\bINTO TABLE (\w+)')
fields_pattern = re.compile(r'\n,?(\w+)([^,\n(]*)(\(.*?\))?', re.MULTILINE)
# Extract tables
tables = tables_pattern.findall(sql_code)
# Extract fields and their types
fields = {}
for table in tables:
table_start = re.search(fr'\bINTO TABLE {table}', sql_code)
table_end = re.search(r'\n\)', sql_code[table_start.end():]).start()
table_fields = fields_pattern.findall(sql_code[table_start.end():table_start.end() + table_end])
fields[table] = [{'name': field[0], 'type': field[1].strip() + field[2]} for field in table_fields]
print("Tables and their fields:")
for table, table_fields in fields.items():
print(f"Table {table}:")
for field in table_fields:
print(f"- {field['name']}")
sql_code = '\nLOAD DATA\nappend\n\nINTO TABLE PO_DISTRIBUTIONS_INTERFACE\nfields terminated by \',\' optionally enclosed by \'"\' trailing nullcols\n(INTERFACE_DISTRIBUTION_ID \texpression "po_distributions_interface_s.nextval"\n,CREATION_DATE expression "current_timestamp(1)"\n,LAST_UPDATE_DATE expression "current_timestamp(1)"\n,CREATED_BY \tconstant \'#CREATEDBY#\'\n,LAST_UPDATED_BY \tconstant \'#LASTUPDATEDBY#\'\n,LAST_UPDATE_LOGIN \tconstant \'#LASTUPDATELOGIN#\'\n,LOAD_REQUEST_ID \tconstant \'#LOADREQUESTID#\'\n,OBJECT_VERSION_NUMBER \tconstant 1\n--,CREATED_BY constant 1\n--,LAST_UPDATED_BY constant 1\n--,LAST_UPDATE_LOGIN constant 1\n--,LOAD_REQUEST_ID constant 1\n,INTERFACE_DISTRIBUTION_KEY\n,INTERFACE_LINE_LOCATION_KEY\n,DISTRIBUTION_NUM\n,DELIVER_TO_LOCATION \n,DELIVER_TO_PERSON_FULL_NAME char(2000) \n,DESTINATION_SUBINVENTORY\n,AMOUNT_ORDERED\t\t\t"fun_load_interface_utils_pkg.replace_decimal_char(:AMOUNT_ORDERED)"\n,SHIPPING_UOM_QUANTITY\t\t"fun_load_interface_utils_pkg.replace_decimal_char(:SHIPPING_UOM_QUANTITY)"\n,CHARGE_ACCOUNT_SEGMENT1 \n,CHARGE_ACCOUNT_SEGMENT2 \n,ATTRIBUTE_TIMESTAMP8\t\t"to_timestamp(:ATTRIBUTE_TIMESTAMP8, \'YYYY/MM/DD HH24:MI:SS:FF\')"\n,ATTRIBUTE_TIMESTAMP9\t\t"to_timestamp(:ATTRIBUTE_TIMESTAMP9, \'YYYY/MM/DD HH24:MI:SS:FF\')"\n,ATTRIBUTE_TIMESTAMP10\t\t"to_timestamp(:ATTRIBUTE_TIMESTAMP10, \'YYYY/MM/DD HH24:MI:SS:FF\')"\n,DELIVER_TO_PERSON_EMAIL_ADDR\n,BUDGET_DATE\t\t\t"to_date(:BUDGET_DATE, \'YYYY/MM/DD\')"\n,PJC_CONTRACT_NUMBER\n,PJC_FUNDING_SOURCE char(360)\n,GLOBAL_ATTRIBUTE1 char(150)\n)\n-- +=========================================================================+\n-- | $Header: fusionapps/scm/doo/bin/DooOrderChargeTiersInt.ctl /st_fusionapps_pt-v2mib/1 2021/03/02 19:28:40 nveluthe Exp $ |\n-- +=========================================================================+\n-- | Copyright (c) 2014 Oracle Corporation Redwood City, California, USA |\n-- | All rights reserved. |\n-- |=========================================================================+\n-- |\n-- | FILENAME\n-- | DooOrderChargeTiersInt.ctl\n-- |\n-- | DESCRIPTION\n-- | Uploads CSV file data into DOO_ORDER_CHARGE_TIERS_INT table\n-- |\n-- | Created by\n-- | akpanigr\n-- |\n-- | History\n-- | 01/20/2021 Initial Version\n-- | \n\nLOAD DATA LENGTH SEMANTICS CHARACTER\n--INFILE \'DooOrderChargeTiersInt.csv\'\n--BADFILE \'DooOrderChargeTiersInt.bad\'\n--DISCARDFILE \'DooOrderChargeTiersInt.dsc\'\nAPPEND\nINTO TABLE DOO_ORDER_CHARGE_TIERS_INT \nFIELDS TERMINATED BY \',\' OPTIONALLY ENCLOSED BY \'"\' \nTRAILING NULLCOLS\n(\nSOURCE_TRANSACTION_ID CHAR(50),\nSOURCE_TRANSACTION_SYSTEM CHAR(30),\nSOURCE_TRANSACTION_LINE_ID CHAR(50),\nSOURCE_TRANSACTION_SCHEDULE_ID CHAR(50),\nSOURCE_CHARGE_ID CHAR(120),\nSOURCE_ORDER_CHARGE_TIER_ID CHAR(50),\nTIER_SEQUENCE_NUMBER "fun_load_interface_utils_pkg.replace_decimal_char(:TIER_SEQUENCE_NUMBER)",\nAPPLICATION_METHOD_CODE CHAR(30),\nAPPLICATION_METHOD CHAR(80),\nTIER_FROM "fun_load_interface_utils_pkg.replace_decimal_char(:TIER_FROM)",\nTIER_TO "fun_load_interface_utils_pkg.replace_decimal_char(:TIER_TO)",\nBLOCK_SIZE "fun_load_interface_utils_pkg.replace_decimal_char(:BLOCK_SIZE)",\nADJUSTMENT_AMOUNT "fun_load_interface_utils_pkg.replace_decimal_char(:ADJUSTMENT_AMOUNT)",\nCREATION_DATE expression "systimestamp",\nCREATED_BY CONSTANT \'#CREATEDBY#\',\nLAST_UPDATE_DATE expression "systimestamp",\nLAST_UPDATED_BY CONSTANT \'#LASTUPDATEDBY#\',\nLAST_UPDATE_LOGIN CONSTANT \'#LASTUPDATELOGIN#\',\nOBJECT_VERSION_NUMBER CONSTANT 1,\nLOAD_REQUEST_ID CONSTANT \'#LOADREQUESTID#\'\n)\n-- Controller to load data from csv file to CSE_INT_BATCHES_B and TL table.\nOPTIONS(ROWS=1)\nLOAD DATA\nINFILE \'CseAssetBatches.csv\'\nBADFILE \'CseAssetBatches.bad\'\nDISCARDFILE \'CseAssetBatches.dsc\'\n\nAPPEND\nINTO TABLE FUSION.CSE_INT_BATCHES_B\nFIELDS TERMINATED BY \',\' OPTIONALLY ENCLOSED BY \'"\' TRAILING NULLCOLS\n(\tINTERFACE_BATCH_CODE \n,\tDUMMYCOL1 FILLER\n,\tDUMMYCOL2 FILLER\n,\tSOURCE_SYSTEM_TYPE "DECODE(:SOURCE_SYSTEM_TYPE, null, \'ORA_INTERNAL\', :SOURCE_SYSTEM_TYPE)" \n,\tSOURCE_SYSTEM_CODE "DECODE(:SOURCE_SYSTEM_CODE, null, \'MNT\', :SOURCE_SYSTEM_CODE)"\n, SOURCE_TRANSACTION_DATE "FUSION.CSE_LOAD_INTERFACE_UTILS_PKG.CONVERT_TIMESTAMP(:SOURCE_TRANSACTION_DATE)"\n,\tATTRIBUTE_CATEGORY \n,\tATTRIBUTE_CHAR1 \n,\tATTRIBUTE_CHAR2 \n,\tATTRIBUTE_CHAR3 \n,\tATTRIBUTE_CHAR4 \n,\tATTRIBUTE_NUMBER8 \n,\tATTRIBUTE_NUMBER9 \n,\tATTRIBUTE_NUMBER10 \n,\tATTRIBUTE_DATE1 "to_date(:ATTRIBUTE_DATE1, \'YYYY/MM/DD\')"\n,\tATTRIBUTE_DATE2 "to_date(:ATTRIBUTE_DATE2, \'YYYY/MM/DD\')"\n,\tATTRIBUTE_DATE3 "to_date(:ATTRIBUTE_DATE3, \'YYYY/MM/DD\')"\n,\tATTRIBUTE_DATE4 "to_date(:ATTRIBUTE_DATE4, \'YYYY/MM/DD\')"\n,\tATTRIBUTE_DATE5 "to_date(:ATTRIBUTE_DATE5, \'YYYY/MM/DD\')"\n,\tATTRIBUTE_TIMESTAMP1 "FUSION.CSE_LOAD_INTERFACE_UTILS_PKG.CONVERT_TIMESTAMP(:ATTRIBUTE_TIMESTAMP1)"\n,\tATTRIBUTE_TIMESTAMP2 "FUSION.CSE_LOAD_INTERFACE_UTILS_PKG.CONVERT_TIMESTAMP(:ATTRIBUTE_TIMESTAMP2)"\n,\tATTRIBUTE_TIMESTAMP3 "FUSION.CSE_LOAD_INTERFACE_UTILS_PKG.CONVERT_TIMESTAMP(:ATTRIBUTE_TIMESTAMP3)"\n,\tATTRIBUTE_TIMESTAMP4 "FUSION.CSE_LOAD_INTERFACE_UTILS_PKG.CONVERT_TIMESTAMP(:ATTRIBUTE_TIMESTAMP4)"\n,\tATTRIBUTE_TIMESTAMP5 "FUSION.CSE_LOAD_INTERFACE_UTILS_PKG.CONVERT_TIMESTAMP(:ATTRIBUTE_TIMESTAMP5)"\n,\tCREATED_BY CONSTANT \'#CREATEDBY#\'\n,\tCREATION_DATE EXPRESSION "SYSTIMESTAMP"\n,\tLAST_UPDATED_BY CONSTANT \'#LASTUPDATEDBY#\'\n,\tLAST_UPDATE_DATE EXPRESSION "SYSTIMESTAMP"\n,\tINTERNAL_BATCH_TYPE CONSTANT \'IB\'\n,\tLOAD_REQUEST_ID CONSTANT \'#LOADREQUESTID#\'\n)\n\nINTO TABLE FUSION.CSE_INT_BATCHES_TL\nFIELDS TERMINATED BY \',\' OPTIONALLY ENCLOSED BY \'"\' TRAILING NULLCOLS\n( INTERFACE_BATCH_ID POSITION(1) "FUSION.CSE_LOAD_INTERFACE_UTILS_PKG.get_batch_id(:INTERFACE_BATCH_ID)"\n,\tINTERFACE_BATCH_NAME\n,\tINTERFACE_BATCH_DESCRIPTION\n,\tSOURCE_SYSTEM_TYPE FILLER\n,\tSOURCE_SYSTEM_CODE FILLER\n,\tATTRIBUTE_CATEGORY FILLER\n,\tATTRIBUTE_CHAR1 FILLER\n,\tOBJECT_VERSION_NUMBER CONSTANT 1\n,\tCREATED_BY CONSTANT \'#CREATEDBY#\'\n,\tCREATION_DATE EXPRESSION "SYSTIMESTAMP"\n,\tLAST_UPDATED_BY CONSTANT \'#LASTUPDATEDBY#\'\n,\tLAST_UPDATE_DATE EXPRESSION "SYSTIMESTAMP"\n,\tLAST_UPDATE_LOGIN CONSTANT \'#LASTUPDATELOGIN#\'\n,\tLOAD_REQUEST_ID CONSTANT \'#LOADREQUESTID#\'\n)\n\n'
像这样
- fields
- CREATION_DATE
- LAST_UPDATE_DATE
- CREATED_BY
- LAST_UPDATED_BY
- LAST_UPDATE_LOGIN
- LOAD_REQUEST_ID
- OBJECT_VERSION_NUMBER
- INTERFACE_DISTRIBUTION_KEY
- INTERFACE_LINE_LOCATION_KEY
- DISTRIBUTION_NUM
- DELIVER_TO_LOCATION
- DELIVER_TO_PERSON_FULL_NAME
- DESTINATION_SUBINVENTORY
- AMOUNT_ORDERED
- SHIPPING_UOM_QUANTITY
- CHARGE_ACCOUNT_SEGMENT1
- CHARGE_ACCOUNT_SEGMENT2
- ATTRIBUTE_TIMESTAMP8
- ATTRIBUTE_TIMESTAMP9
- ATTRIBUTE_TIMESTAMP10
- DELIVER_TO_PERSON_EMAIL_ADDR
- BUDGET_DATE
- PJC_CONTRACT_NUMBER
- PJC_FUNDING_SOURCE
- GLOBAL_ATTRIBUTE1
Table DOO_ORDER_CHARGE_TIERS_INT:
- TRAILING
- SOURCE_TRANSACTION_ID
- SOURCE_TRANSACTION_SYSTEM
- SOURCE_TRANSACTION_LINE_ID
- SOURCE_TRANSACTION_SCHEDULE_ID
- SOURCE_CHARGE_ID
- SOURCE_ORDER_CHARGE_TIER_ID
- TIER_SEQUENCE_NUMBER
- APPLICATION_METHOD_CODE
- APPLICATION_METHOD
- TIER_FROM
- TIER_TO
- BLOCK_SIZE
- ADJUSTMENT_AMOUNT
- CREATION_DATE
- CREATED_BY
- LAST_UPDATE_DATE
- LAST_UPDATED_BY
- LAST_UPDATE_LOGIN
- OBJECT_VERSION_NUMBER
- LOAD_REQUEST_ID```