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) }