首页 \ 问答 \ 为什么oracle认为这个查询格式不正确?(Why oracle thinks this query is malformed?)

为什么oracle认为这个查询格式不正确?(Why oracle thinks this query is malformed?)

我将以下sql发送到oracle db,并获取ORA-00907: missing right parenthesis

SELECT "LOGS"."ID", 
   "LOGS"."USER_ID", 
   "LOGS"."TIMESTAMP", 
   "LOGS"."SESSION_ID"        
FROM "LOGS"
INNER JOIN "USERS" ON ("LOGS"."USER_ID" = "USERS"."USER_ID") 
WHERE ("USERS"."USERNAME" IS NOT NULL 
  AND "LOGS"."TIMESTAMP" <= TO_TIMESTAMP(2013-03-26 23:59:59, 'YYYY-MM-DD HH24:MI:SS.FF')
  AND "LOGS"."TIMESTAMP" >= TO_TIMESTAMP(2013-03-26 00:00:00, 'YYYY-MM-DD HH24:MI:SS.FF') )

这个问题的原因是什么?


I'm sending the following sql to oracle db, and getting ORA-00907: missing right parenthesis.

SELECT "LOGS"."ID", 
   "LOGS"."USER_ID", 
   "LOGS"."TIMESTAMP", 
   "LOGS"."SESSION_ID"        
FROM "LOGS"
INNER JOIN "USERS" ON ("LOGS"."USER_ID" = "USERS"."USER_ID") 
WHERE ("USERS"."USERNAME" IS NOT NULL 
  AND "LOGS"."TIMESTAMP" <= TO_TIMESTAMP(2013-03-26 23:59:59, 'YYYY-MM-DD HH24:MI:SS.FF')
  AND "LOGS"."TIMESTAMP" >= TO_TIMESTAMP(2013-03-26 00:00:00, 'YYYY-MM-DD HH24:MI:SS.FF') )

What can be the cause of this problem?


原文:
更新时间:2021-10-14 10:10

最满意答案

是的,有一个名为__gcmetamethod专门用于此目的。 有关更多详细信息,请参见第29章 - 管理 Lua中编程 资源 (PIL)

以下代码段创建了一个metatable并注册了__gc元方法回调:

  luaL_newmetatable(L, "SomeClass");

  lua_pushcfunction(L, some_class_gc_callback);
  lua_setfield(L, -2, "__gc");

Yes, there is a metamethod called __gc specifically for this purpose. See Chapter 29 - Managing Resources of Programming in Lua (PIL) for more details.

The following snippet creates a metatable and registers a __gc metamethod callback:

  luaL_newmetatable(L, "SomeClass");

  lua_pushcfunction(L, some_class_gc_callback);
  lua_setfield(L, -2, "__gc");

相关问答

更多
  • 你在谈论两件完全不同的事情。 一旦using块结束,该对象将被丢弃。 这并没有说什么时候它是垃圾收集。 堆内存释放的唯一时间是发生垃圾回收 - 这只发生在内存压力下(除非明确使用GC.Collect )。 处理对象仅仅意味着调用它的Dispose方法。 这通常意味着释放稀缺资源或本地资源(实际上,所有稀缺资源都是本地资源 - 套接字,文件等)。 现在,您的案例中可丢弃对象的生命周期在范围上是有限的,因此理论上可以在using块结束后立即收集它 - 但是,这在实践中并不真正发生,因为.NET运行时尽量避免收藏 ...
  • 从metatables文档 : 元表可以控制对象在算术运算,命令比较,连接,长度操作和索引中的表现。 metatable还可以定义在用户数据被垃圾收集时调用的函数。 Lua用户的Lua FAQ指出: 为什么__gc和__len元方法不能在表格上工作? 用户数据对象通常需要一些显式的析构函数来在对象即将被删除时运行,而Lua为此提供了__gc元方法。 但是,为了提高效率,这在表格中是不允许的。 通常,不需要在表上设置析构函数,因为表将自动删除,并且表中包含的任何引用都将被正常地垃圾收集。 可能的解决方法是创建 ...
  • 它已经内置了这种能力,而不需要让人们从中获取危险的东西: #include #include /* * Done as a function for simplicity. * But this can be done in so many ways */ void MyCleanup(int* x) { std::cout << "DONE\n"; delete x; } int main() { boo ...
  • 实体框架将从数据库中检索的所有实体保留在上下文中,以便在迭代后不会收集它们。 这样做是为了跟踪变化。 您可以在执行前通过调用AsNoTracking来禁用此功能( docs )。 这样做SaveChanges将不会持久保存对这些实体所做的任何更改。 至于关于天气的问题,在每次迭代后释放对象,答案是肯定的。 我创建了一个简单的演示,通过在构造函数和析构函数中添加日志代码并添加显式GC调用来说明这一点。 每次迭代后都会调用析构函数。 public class Program { public stati ...
  • Lua是面向对象的,但它不像Java / C ++ / C#/ Ruby等,没有本机类 ,创建新对象的唯一方法是克隆现有对象。 这就是为什么它被称为原型语言 (如JavaScript)。 阅读Lua第16章中的编程 。 您可以使用metatable模拟正常的OOP。 Lua is object oriented, but it's not like Java/C++/C#/Ruby, etc, there's no native class, the only way to create new objec ...
  • 在一般情况下,无法测试对象是否被丢弃。 WeakReference可能是您正在寻找的东西。 您可以在测试过程中创建WeakReference,并在代码运行之后: WeakReference wr = new WeakReference(obj); GC.Collect(); Assert.IsTrue(!wr.IsAlive); There is no way to test if object is disposed in general case. WeakReference is probably ...
  • 在lua 5.1中,使用__gc元方法的唯一lua值是userdata 。 当然,任何黑客或解决方法都必须涉及用户数据。 通常情况下,没有办法从lua端创建newuserdata,但是有一个“ 隐藏的 ”未记录的函数newproxy就是这样做的。 newproxy采用可选的bool或userdata参数。 如果你传入true那么你会得到一个附带了新metatable的userdata。 如果传入另一个用户数据,则新的用户数据将被分配与传入的相同的元数据。 所以现在你可以将一个能使__gc工作的函数组合在一起 ...
  • lua_setmetatable不会从堆栈中删除对象,因此存在对userdata对象的引用。 所以Lua不会收集它。 lua_setmetatable does not remove object from stack so there exists reference to your userdata object. So Lua will not collect it.
  • Lua通过调用提供的释放函数忠实地释放不可到达的对象(默认情况下为realloc(block, 0) )。 看起来libc分配器正在努力返回未使用的内存,可能是由于高度碎片。 查看strace输出(我在64位Debian 6上使用Lua 5.1.4大致相同的数字),C运行时选择使用小增量的brk进行分配,但是不进行释放(调用具有较低值的brk )。 但是,如果在进入无限循环之前插入malloc_trim(M_TOP_PAD) ,您将在top输出中看到驻留大小急剧下降到~5M并且strace显示数据段确实已经 ...
  • 是的,有一个名为__gc的metamethod专门用于此目的。 有关更多详细信息,请参见第29章 - 管理 Lua中的编程 资源 (PIL) 。 以下代码段创建了一个metatable并注册了__gc元方法回调: luaL_newmetatable(L, "SomeClass"); lua_pushcfunction(L, some_class_gc_callback); lua_setfield(L, -2, "__gc"); Yes, there is a metamethod call ...

相关文章

更多

最新问答

更多
  • 获取MVC 4使用的DisplayMode后缀(Get the DisplayMode Suffix being used by MVC 4)
  • 如何通过引用返回对象?(How is returning an object by reference possible?)
  • 矩阵如何存储在内存中?(How are matrices stored in memory?)
  • 每个请求的Java新会话?(Java New Session For Each Request?)
  • css:浮动div中重叠的标题h1(css: overlapping headlines h1 in floated divs)
  • 无论图像如何,Caffe预测同一类(Caffe predicts same class regardless of image)
  • xcode语法颜色编码解释?(xcode syntax color coding explained?)
  • 在Access 2010 Runtime中使用Office 2000校对工具(Use Office 2000 proofing tools in Access 2010 Runtime)
  • 从单独的Web主机将图像传输到服务器上(Getting images onto server from separate web host)
  • 从旧版本复制文件并保留它们(旧/新版本)(Copy a file from old revision and keep both of them (old / new revision))
  • 西安哪有PLC可控制编程的培训
  • 在Entity Framework中选择基类(Select base class in Entity Framework)
  • 在Android中出现错误“数据集和渲染器应该不为null,并且应该具有相同数量的系列”(Error “Dataset and renderer should be not null and should have the same number of series” in Android)
  • 电脑二级VF有什么用
  • Datamapper Ruby如何添加Hook方法(Datamapper Ruby How to add Hook Method)
  • 金华英语角.
  • 手机软件如何制作
  • 用于Android webview中图像保存的上下文菜单(Context Menu for Image Saving in an Android webview)
  • 注意:未定义的偏移量:PHP(Notice: Undefined offset: PHP)
  • 如何读R中的大数据集[复制](How to read large dataset in R [duplicate])
  • Unity 5 Heighmap与地形宽度/地形长度的分辨率关系?(Unity 5 Heighmap Resolution relationship to terrain width / terrain length?)
  • 如何通知PipedOutputStream线程写入最后一个字节的PipedInputStream线程?(How to notify PipedInputStream thread that PipedOutputStream thread has written last byte?)
  • python的访问器方法有哪些
  • DeviceNetworkInformation:哪个是哪个?(DeviceNetworkInformation: Which is which?)
  • 在Ruby中对组合进行排序(Sorting a combination in Ruby)
  • 网站开发的流程?
  • 使用Zend Framework 2中的JOIN sql检索数据(Retrieve data using JOIN sql in Zend Framework 2)
  • 条带格式类型格式模式编号无法正常工作(Stripes format type format pattern number not working properly)
  • 透明度错误IE11(Transparency bug IE11)
  • linux的基本操作命令。。。