From ee64beb73ba5733e5427caeef015e1fcde965860 Mon Sep 17 00:00:00 2001 From: button-chen <727690080@qq.com> Date: Wed, 13 Feb 2019 12:37:14 +0800 Subject: [PATCH] =?UTF-8?q?fix=20bug=20in=20oracle=EF=BC=9A=20engine.Table?= =?UTF-8?q?(tablename).Exist()=20(#1227)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- session_exist.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/session_exist.go b/session_exist.go index 5d3969f9..6aa154aa 100644 --- a/session_exist.go +++ b/session_exist.go @@ -42,6 +42,8 @@ func (session *Session) Exist(bean ...interface{}) (bool, error) { if session.engine.dialect.DBType() == core.MSSQL { sqlStr = fmt.Sprintf("SELECT TOP 1 * FROM %s WHERE %s", tableName, condSQL) + } else if session.engine.dialect.DBType() == core.ORACLE { + sqlStr = fmt.Sprintf("SELECT * FROM %s WHERE (%s) AND ROWNUM=1", tableName, condSQL) } else { sqlStr = fmt.Sprintf("SELECT * FROM %s WHERE %s LIMIT 1", tableName, condSQL) } @@ -49,6 +51,8 @@ func (session *Session) Exist(bean ...interface{}) (bool, error) { } else { if session.engine.dialect.DBType() == core.MSSQL { sqlStr = fmt.Sprintf("SELECT TOP 1 * FROM %s", tableName) + } else if session.engine.dialect.DBType() == core.ORACLE { + sqlStr = fmt.Sprintf("SELECT * FROM %s WHERE ROWNUM=1", tableName) } else { sqlStr = fmt.Sprintf("SELECT * FROM %s LIMIT 1", tableName) }