如何检查Java中是否存在类的方法?将一个try {...} catch {...}
声明是好的做法呢?
在不使用WHERE子句的情况下,在简单查询中是否有任何方法可以使用SQL EXISTS语句返回布尔值?
所有2008 R2 SQL Server联机丛书示例都显示了另一个WHERE子句和两个表.网站示例显示过程中的WHERE或IF-THEN-ELSE.
我希望在一张桌子上做以下事情:
EXISTS
(SELECT cx.id
FROM fdd.admissions_view as cx
WHERE cx.id=1111 and cx.campus='MEXI')
Run Code Online (Sandbox Code Playgroud)
SELECT语句正常工作并返回ID.我只想添加EXISTS来返回BOOLEAN,但上面的语法无效.
我可以这样做吗?如果是这样,我在语法方面缺少什么?如果没有,还有什么其他技术可行?
请指教.谢谢.
Declare @CategoryID as int
BEGIN
SELECT
(CASE
WHEN EXISTS(
SELECT t0.Categoryid AS [EMPTY]
FROM Categories AS [t0]
WHERE [t0].Categoryname = @CategoryName
) THEN 1
ELSE 0
END) AS [value]
Run Code Online (Sandbox Code Playgroud)
如果我想用t0.Categoryid设置我的变量在存在块内我怎么能这样做?
我想要的是将1替换为类别id值...
提前致谢..
当我执行以下操作时出现错误:
if(Session["value"] != null)
{
// code
}
Run Code Online (Sandbox Code Playgroud)
我得到的错误是这样的:
你调用的对象是空的.
为什么是这样?我总是这样检查我的会话?我正在使用MVC框架,这与它有关吗?
编辑:
代码位于Controller的构造函数中:
public class MyController : ControllerBase
{
private int mVar;
public MyController()
{
if (Session["value"] != null)
{
mVar= (int)Session["value"];
}
}
}
Run Code Online (Sandbox Code Playgroud) 回复:http://msdn.microsoft.com/en-us/library/system.io.file.exists.aspx
有谁知道这是一个特别慢或锁定的操作,可能会影响大型环境中的服务器性能?
我如何只选择没有客户端的商店5
?
StoreId ClientId
------- ---------
1 4
1 5
2 5
2 6
2 7
3 8
Run Code Online (Sandbox Code Playgroud)
我正在尝试这样的事情:
SELECT SC.StoreId FROM StoreClients
INNER JOIN StoreClients SC
ON StoreClients.StoreId = SC.StoreId
WHERE SC.ClientId = 5
GROUP BY StoreClients.StoreId
Run Code Online (Sandbox Code Playgroud)
这似乎让我的一切,有客户门店,但我不能这样做,因为如果我做相反的<> 5
病仍然获得商店1
和2
我不想要的.
我基本上试图在另一个查询的EXISTS IN
子句中使用此结果
两者中哪一个表现更好(我最近被指责不小心我的代码,因为我在Oracle中使用了后者):
Select *
from Tab1
Where (not) exists(Select 1 From Tab2 Where Tab1.id = Tab2.id)
Select *
from Tab1
Where (not) exists(Select Field1 From Tab2 Where Tab1.id = Tab2.id)
Run Code Online (Sandbox Code Playgroud)
或者他们俩都一样?
请从SQL Server透视图和Oracle透视图中回答这两个问题.
我用google搜索(主要来自sql-server方面)并发现对此仍存在很多争论,尽管我现在的意见/假设是RDMBS中的优化者已经足够成熟,可以理解子查询所需要的只是布尔值.
我可以在Perl中做这样的事情吗?意义模式匹配文件名并检查它是否存在.
if(-e "*.file")
{
#Do something
}
Run Code Online (Sandbox Code Playgroud)
我知道要求系统列出存在的文件的更长的解决方案; 将其作为文件读取,然后推断文件是否存在.
我正在使用实体框架,我需要检查名称="xyz"的产品是否存在...
我想我可以使用Any(),Exists()或First().
对于这种情况,哪一个是最好的选择?哪一个性能最好?
谢谢,
米格尔
有两个表由id链接:
item_tbl (id)
link_tbl (item_id)
Run Code Online (Sandbox Code Playgroud)
有些记录中item_tbl
没有匹配的行link_tbl
.一个可以计算其金额的选择将是:
SELECT COUNT(*)
FROM link_tbl lnk LEFT JOIN item_tbl itm ON lnk.item_id=itm.id
WHERE itm.id IS NULL
Run Code Online (Sandbox Code Playgroud)
我想删除那些孤儿记录(那些在其他表中没有匹配的记录),link_tbl
但我能想到的唯一方法是:
DELETE FROM link_tbl lnk
WHERE lnk.item_id NOT IN (SELECT itm.id FROM item_tbl itm)
Run Code Online (Sandbox Code Playgroud)
在2003年的16,844,347个孤儿记录中有
3,033,811个记录的link_tbl
262,086,253条记录.
服务器有4GB RAM和8核CPU.item_tbl
link_tbl
EXPLAIN DELETE FROM link_tbl lnk
WHERE lnk.item_id NOT IN (SELECT itm.id FROM item_tbl itm)
Run Code Online (Sandbox Code Playgroud)
返回:
Delete on link lnk (cost=0.00..11395249378057.98 rows=131045918 width=6)
-> Seq Scan …
Run Code Online (Sandbox Code Playgroud)