我刚刚在Oracle中遇到了一个奇怪的行为,我期望ORA-00918被提升,但事实并非如此.例如,以此查询为例.
SELECT *
FROM USER_TABLES TAB
JOIN USER_TRIGGERS TRG ON TRG.TABLE_NAME = TAB.TABLE_NAME
WHERE STATUS = 'DISABLED'
Run Code Online (Sandbox Code Playgroud)
此查询在概念上寻找具有禁用触发器的表的详细信息,但请注意,这不是我想要解决的问题.该查询,数据字典,视图或表格不是唯一的问题; 据我所知,它适用于任何一组表或视图(从我试过的两三个).
无论如何,尝试运行此查询,你会得到ORA-00918,因为两者USER_TABLES并USER_TRIGGERS有一个名为列STATUS,从而得到查询运行WHERE条款需要更改到TRG.STATUS.好吧,很酷,但尝试加入另一张桌子.
SELECT *
FROM USER_TABLES TAB
JOIN USER_TRIGGERS TRG ON TRG.TABLE_NAME = TAB.TABLE_NAME
JOIN USER_CONSTRAINTS CON ON CON.TABLE_NAME = TAB.TABLE_NAME
WHERE STATUS = 'DISABLED'
Run Code Online (Sandbox Code Playgroud)
这个查询,没有限定你的意思是哪个STATUS列,神奇地工作!别介意语义或查询返回的内容,没有错误. USER_CONSTRAINTS甚至还有一个名称STATUS也是如此,所以当有两列可供选择时它怎么会不知道该怎么做但是它更加模棱两可呢?
顺便说一下,这一切都在10.2.0.3.0上,如果你的查询中有两个以上的表,ORA-00918就会停止被提升.如果这是一个Oracle错误,有人知道它何时被修复,那么如果我们的数据库升级,哪个Oracle版本可能会导致牛仔查询爆炸?
更新
感谢BQ用于演示该错误已在11.2.0.1.0中修复.任何可以在早期版本中修复它的人的赏金!
我有一个使用合成和一些 AVAssets 的自定义播放器。一切正常。现在我想在我的视频上添加一些字幕。我在文档中读到,存在 mediaType“AVMediaTypeSubtitle”。是否有任何 Asset 或 AVAssetTrack 可以生成 TextOverlay,我可以将其插入到我的作品中以制作字幕?
简而言之,一个以编程方式填充了电话号码的文本区域,安装了Skype插件后,会生成突出显示标签.
从而,
(418) 555-1234
Run Code Online (Sandbox Code Playgroud)
变
begin_of_the_skype_highlighting (418) 555-1234 end_of_the_skype_highlighting
Run Code Online (Sandbox Code Playgroud)
如果该字符串放在textarea中,则Skype突出显示将再次封装它,Ad无限.
你怎么防止这种情况?
是Java中Collection<?>的子类型Object吗?这可能是一个愚蠢的问题,但不是Object每个班级的根源?
我看到一些代码是linq用于遍历c#中的字典对象.我认为linq只是用于数据库的linq到sql.在提到的代码中使用的linq是一个select类型语句,只是没有数据库.
linq没有linq到sql的数据库?是没有"sql"的"linq"留在这里吗?我问这是因为人们谈论实体框架将linq替换为sql但当然EF并没有取代使用我描述的时尚的linq吗?你能在字典对象上使用ef吗?希望征求意见.谢谢.
在我看到它的地方:
我目前正在尝试在对象上使用jquery"find"方法两次,但它不允许我这样做,只有"find"的第一个实例正在工作.这是我想要运行的代码......
$("#phone_numbers > p:first-child").clone(true).insertBefore("#phone_numbers > span:last-child").find('.phone_type, .phone_number, .user_phones_id').val('').find('.delete_phone').remove();
Run Code Online (Sandbox Code Playgroud)
上面的代码工作正常,除了最后一个"查找"方法,它不是删除带有".delete_phone"类的元素.
但是,如果我将代码更改为这样......
$("#phone_numbers > p:first-child").clone(true).insertBefore("#phone_numbers > span:last-child").find('.delete_phone').remove();
Run Code Online (Sandbox Code Playgroud)
它确实删除了带有".delete_phone"类的元素.我认为这是因为我不能连续两次使用"find"方法,但我不确定.
有谁知道发生了什么,或者是否有办法解决这个问题?
谢谢!
我遇到了在两个站点安装了C#应用程序的情况,其中与SQL Server的初始连接非常慢.我编写了一个测试应用程序来验证减速发生的位置,它是在第一个SQLConnection.Open语句中.通过命名管道建立与服务器的连接大约需要41秒.我们认为这可能是一个DNS问题,但它使用TCP/IP连接速度一样慢.建立初始连接后,将连接合并,应用程序正常响应.工作站和服务器都是运行Windows 7 Pro,Core 2 Duo 3.16 Ghz和4 gig Ram的不错的机器.我在微软论坛上找到了以下文章:
关闭LLMNR协议确实将初始连接时间缩短了大约一半到21秒.但是,这仍然需要很长时间才能获得与SQL Server的初始连接.唯一与我们的标准略有不同的是,在这种情况下,DNS是通过路由器完成的,而不是实际的服务器.到目前为止,这只发生在两个地方,其他地方没有任何问题.任何帮助,将不胜感激.
谢谢你,丹尼斯
我把它放在Application Controller中:
before_filter :set_timezone
def set_timezone
Time.zone = current_user.time_zone
end
Run Code Online (Sandbox Code Playgroud)
但我总是得到错误:
undefined method time_zone for #<User:0xa46e358>
Run Code Online (Sandbox Code Playgroud)
而我只是不知道为什么......
我希望有人能帮帮忙
我正在尝试执行以下操作并失败:
class base {}
class derived1 : base {}
class derived2 : base {}
interface itr<t>
where t : class, base
{}
class c1: itr<derived1>
{}
class c2 : itr<derived2>
{}
Run Code Online (Sandbox Code Playgroud)
//以下2个注册失败:
_unityContainer.RegisterType<itr<base>, c1>("c1");
_unityContainer.RegisterType<itr<base>, c2>("c2");
Run Code Online (Sandbox Code Playgroud)
我得到的错误是上述注册中的第二个参数不能被类型转换为第一个参数,并且该注册无效.有关如何做到这一点的任何建议?
我需要执行上述操作,而不是使用derived1或derived2类作为通用参数进行注册,因为在解析时我不想知道我正在解析的确切派生类型.我只想多态地使用基类型方法.
是否可以用 Python 编写点对点聊天应用程序?
我正在从业余爱好者项目的角度考虑这一点。两台机器可以直接连接而不涉及服务器吗?我一直想知道这一点,但从未真正看到它在任何地方实施,所以我想一定有什么地方有问题。
PS:我打算学习Twisted,所以如果涉及到,那将是一个额外的优势!