我曾经在Python脚本的顶部添加shebang行,
#!/usr/bin/python
...
Run Code Online (Sandbox Code Playgroud)
我可以执行my.py文件,
chmod a+r my.py
./my.py
Run Code Online (Sandbox Code Playgroud)
但是在编译成字节码之后,脚本只能由python执行,并且shebang不再起作用了.
python my.pyc
Run Code Online (Sandbox Code Playgroud)
反正有没有让shebang可以编译python脚本?
./my.pyc
Run Code Online (Sandbox Code Playgroud) 我正在使用merge命令将不存在的记录插入表中.当我使用简单的插入命令时,它工作正常.如果我使用合并系统总是警告ORA-00904:"T"."GROUP_COMPANY_ID"无效的标识符.一旦我将ON条件更改为(1 = 1)以强制为true,则merge命令正常工作.
原始合并声明出错了什么?我非常确定该表是在没有双引号的情况下创建的,所以这里没有案例问题.
create table test
(
create_date DATE not null,
group_company_id CHAR(16) not null
)
-- This is okay
INSERT INTO test (create_date, group_company_id) VALUES (TO_DATE('20100531', 'YYYYMMDD'), 'abc');
-- This one will raise ORA-00904 error
MERGE INTO test T
USING (SELECT 'abc' AS group_company_id FROM DUAL) C
ON (T.group_company_id = C.group_company_id)
-- ON (1 = 1)
WHEN NOT MATCHED THEN
INSERT (create_date, group_company_id)
VALUES (TO_DATE('20100531', 'YYYYMMDD'), 'abc')
WHEN MATCHED THEN
UPDATE SET group_company_id = 'abc';
Run Code Online (Sandbox Code Playgroud)