ORA-00933: 甲骨文 8i

ORA-00933: oracle 8i

我想在 Oracle 8i 中使用连接。我的查询如下。 我有使用 join 从两个 table 获取数据的查询,但我收到错误 SQL command not properly ended.

    private List<StamfordProdRelease> GetStamfordProdReleases()
    {
        List<StamfordProdRelease> list = null;

        string srtQry = "SELECT NVL(NULL, 0) ID," +
        "                DLOG.RELEASEID AS RELEASE_BUILD," +
        "                TRUNC (DLOGDET.DEPLOYDATE) AS PROD_DEPLOY_DATE," +
        "                DLOGDET.DEPLOYREQUEST AS BAAR_RFD," +
        "                DLOG.FILENAMEEXT_VC AS SCRIPT_NAME," +
        "                DLOG.VERSION," +
        "                DLOG.REQUEST," +
        "                DLOG.NOTE AS COMMENTS" +
        "                FROM ADM_DEPLOYMENTLOGDETAIL DLOGDET" +
        "                JOIN ADM_DEPLOYMENTLOG DLOG ON DLOG.LOGNO = DLOGDET.LOGNO;";

        using (OracleConnection conn = new OracleConnection(Globals.Constants.AppConnectionStringReadOnly))
        {
            using (OracleCommand objCommand = new OracleCommand(srtQry, conn))
            {
                objCommand.CommandType = CommandType.Text;
                DataTable dt = new DataTable();
                OracleDataAdapter adp = new OracleDataAdapter(objCommand);
                conn.Open();
                adp.Fill(dt);
                if (dt != null)
                {
                    list = ConvertToStamfordProdRelease(dt).ToList();
                }
            }
        }
        return list;
    }

我的目标是将记录插入 table。

将所有内容保存在一组 " 中,并且您只需要一个 ; 来结束双引号之外的 SQL 查询。

    private List<StamfordProdRelease> GetStamfordProdReleases()
    {
        List<StamfordProdRelease> list = null;

        string srtQry = "SELECT NVL(NULL, 0) ID, 
DLOG.RELEASEID AS RELEASE_BUILD, 
TRUNC (DLOGDET.DEPLOYDATE) AS PROD_DEPLOY_DATE, 
DLOGDET.DEPLOYREQUEST AS BAAR_RFD, 
DLOG.FILENAMEEXT_VC AS SCRIPT_NAME, 
DLOG.VERSION, 
DLOG.REQUEST, 
DLOG.NOTE AS COMMENTS 
FROM ADM_DEPLOYMENTLOGDETAIL DLOGDET 
JOIN ADM_DEPLOYMENTLOG DLOG ON DLOG.LOGNO = DLOGDET.LOGNO";

        using (OracleConnection conn = new OracleConnection(Globals.Constants.AppConnectionStringReadOnly))
        {
            using (OracleCommand objCommand = new OracleCommand(srtQry, conn))
            {
                objCommand.CommandType = CommandType.Text;
                DataTable dt = new DataTable();
                OracleDataAdapter adp = new OracleDataAdapter(objCommand);
                conn.Open();
                adp.Fill(dt);
                if (dt != null)
                {
                    list = ConvertToStamfordProdRelease(dt).ToList();
                }
            }
        }
        return list;
    }

不要将字符串组合在一起。

Oracle 8i 不支持标准 ANSI SQL JOIN 语法。

Oracle 9i 第 2 版(又名 Oracle 9.2)中引入了该功能

Quote from the chapter "What's New in SQL Reference"

SELECT [...] has new ANSI-compliant join syntax.