我有一个在PyScripter(Windows)中运行的Python script,用于在Oracle数据库上执行SQL。SQL创建一个视图。在
import sys
import arcpy
arcpy.env.workspace = sys.path[0]
egdb_conn = arcpy.ArcSDESQLExecute(r"Database Connections\Connection1.sde")
sql_statement = """
CREATE OR REPLACE VIEW ROAD_VW AS
SELECT
NAME
,FROM_
,TO_
FROM
USER1.ROAD
"""
egdb_return = egdb_conn.execute(sql_statement)
print "Complete."
脚本在数据库中成功地创建了一个视图。在
问题是数据库视图定义中的换行符似乎只在某些程序中起作用(可见),而不是在其他程序中。如果我访问视图定义(比如在-MS access或ArcGIS桌面中),复制它,然后粘贴它,会发生以下情况:
换行符在以下位置可见:
^{pr2}$换行符不可见于:
SELECT NAME ,FROM_ ,TO_ FROM USER1.ROAD
我是否可以格式化SQL文本,以便在执行SQL文本以创建视图时,保留视图定义的换行符(当SQL定义文本用于其他程序时)?在
正如@Sudipta Mondal所暗示的,我需要将}:
\n
转换为{sql_statement = sql_statement.replace('\n', '\r\n')
相关资源:
Difference between \n and \r?
Replace \n with {something else}
相关问题 更多 >
编程相关推荐