【问题标题】:With statement in PYODBC sql statementPYODBC sql 语句中的 with 语句
【发布时间】:2019-01-10 18:01:33
【问题描述】:

如果我在 SQL 语句中使用 With 子句,我将无法使用 pyodbc 执行 SQL 语句。

这行得通:

import pyodbc

cnxn = pyodbc.connect('DSN=database;PWD=password' )
cursor = cnxn.cursor()

sql = """
    SELECT top 10 *                                 
    FROM    table
    """
qnnum = pd.read_sql(sql, cnxn)

这不起作用:

import pyodbc

cnxn = pyodbc.connect('DSN=database;PWD=password' )
cursor = cnxn.cursor()

sql = """
    With A as(SELECT top 10 *                                   
    FROM    table)
    select * from A
    """
qnnum = pd.read_sql(sql, cnxn)

【问题讨论】:

    标签: python python-3.x pyodbc


    【解决方案1】:

    我已经在 Teradata(15.10.07.37) 上使用 pyodbc(Python 3.7) 测试了 WITH 子句并且它有效。

    以下形式的查询字符串中也支持注释。

    /* 评论1 */

    希望对您有所帮助。

    【讨论】:

      【解决方案2】:

      我能够通过简化格式并从原始代码中删除 cmets 来解决问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-08-07
        • 1970-01-01
        • 1970-01-01
        • 2013-01-01
        • 2020-10-08
        • 2016-04-25
        • 1970-01-01
        • 2015-06-29
        相关资源
        最近更新 更多