1
我想使用Python來創建一個表,並插入一些值Python的cx_Oracle無效選項
cur = con.cursor()
remove_table = '''
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE {}';
EXCEPTION
WHEN OTHERS THEN
IF SQLCODE != -942 THEN
RAISE;
END IF;
END;
'''
create_table_workclasses = '''
CREATE TABLE WORKCLASSES (
WORKCLASSES_NAME VARCHAR2(32) NOT NULL
)
'''
insert_workclasses = '''
INSERT ALL
INTO WORKCLASSES VALUES ('Private');
INTO WORKCLASSES VALUES ('Selfemp-inc')
INTO WORKCLASSES VALUES ('Federal-gov')
SELECT * FROM dual;
'''
cur.execute(remove_table.format('WORKCLASSES'))
cur.execute(create_table_workclasses)
cur.execute(insert_workclasses)
cur.close()
con.close()
獲取的
cur.execute(create_table_workclasses)
cx_Oracle.DatabaseError: ORA-00922: missing or invalid option
事情的錯誤是,查詢工作在SQL就好了開發者!
換行符可能影響'create_table_workclasses'中的查詢。 '\ nCREATE TABLE WORKCLASSES(\ nWORKCLASSES_NAME VARCHAR2(32)NOT NULL \ n)\ n'''NOT NULL \ n'是一個無效的選項。 –
create table語句也適用於cx_Oracle - 至少就你在這裏展示它而言!我沒有得到這樣的錯誤! –
請注意您在INSERT ALL子句中有一個額外的分號 –