在您的C#源代码或Stored Procs中保留SQL的优点/缺点是什么? 我一直在和一位朋友讨论一个我们正在开发的开源项目(C#ASP.NET论坛)。 目前,大部分数据库访问都是通过在C#中内联SQL并调用SQL Server数据库来完成的。 所以我试图确定哪个对于这个特定的项目是最好的。 到目前为止我有: 代码中的优点: 更容易维护 – 不需要运行SQL脚本来更新查询 更容易移植到另一个数据库 – 没有过程端口 存储Procs的优点: 性能 安全
我明白group by x的点 但是group by x, y如何工作的,这是什么意思?
我有一个跟踪交易的表格。 该表设置为: transactions: id, account_id, budget_id, points, type 我需要返回每个budget_id的点的总和,其中types=“分配”和点的总和,其中types=“问题” 我知道如何做每一个,但不是在一个查询。 预期结果集: budget_id allocated issued 434 200000 100 242 100000 5020 621 45000 3940
我有一个简单的查询: select * from countries 结果如下: country_name ———— Albania Andorra Antigua ….. 我想在一行中返回结果,所以像这样: Albania, Andorra, Antigua, … 当然,我可以编写一个PL / SQL函数来完成这个工作(我已经在Oracle 10g中完成了),但是对于这个任务,有没有更好的,最好是非Oracle特定的解决scheme(或者可能是内置的函数) ? 我通常会使用它来避免子查询中的多行,所以如果一个人拥有多于一个国籍,我不希望她/他在列表中重复。 我的问题是基于SQL Server 2005上的类似问题。 更新 :我的function如下所示: CREATE OR REPLACE FUNCTION APPEND_FIELD (sqlstr in varchar2, sep in varchar2 ) return varchar2 is ret varchar2(4000) := ''; TYPE cur_typ IS REF CURSOR; rec cur_typ; field […]
在SQL中(可悲的是)经常不得不使用“ LIKE ”条件,因为数据库几乎违反了每个规范化的规则。 我现在无法改变。 但这与问题无关。 此外,我经常使用WHERE something in (1,1,2,3,5,8,13,21)条件来提高我的SQL语句的可读性和灵活性。 有没有可能把这两件事情结合起来而不写复杂的子select? 我想要像WHERE something LIKE ('bla%', '%foo%', 'batz%')东西一样简单WHERE something LIKE ('bla%', '%foo%', 'batz%')而不是 WHERE something LIKE 'bla%' OR something LIKE '%foo%' OR something LIKE 'batz%' 我正在与SQl服务器和Oracle在这里工作,但我很感兴趣,如果这在任何RDBMS中都是可能的。
性能(在oracle中)有差异吗? Select * from Table1 T1 Inner Join Table2 T2 On T1.ID = T2.ID 和 Select * from Table1 T1, Table2 T2 Where T1.ID = T2.ID ?
我有值返回255逗号分隔值。 有没有一个简单的方法来将它们分成没有255个substr的列? ROW | VAL ———– 1 | 1.25, 3.87, 2, … 2 | 5, 4, 3.3, …. 至 ROW | VAL | VAL | VAL … ——————— 1 |1.25 |3.87 | 2 … 2 | 5 | 4 | 3.3 …
这两个陈述是否相同? SELECT […] FROM […] WHERE some_col in (1,2,3,4,5) AND some_other_expr 和 SELECT […] FROM […] WHERE some_col in (1,2,3) or some_col in (4,5) AND some_other_expr 有什么我可以用来validation这个真理表吗?
在SQL服务器中,如果在where子句中有nullParam=NULL ,它总是计算为false。 这是违反直觉的,造成了很多错误。 我明白IS NULL和IS NOT NULL关键字是正确的方法。 但为什么SQL服务器的行为呢?
我正在寻找SQL Server的替代mysql_real_escape_string() 。 是addslashes()我最好的select还是有另一个可以使用的替代function? 编辑 :替代mysql_error()也将是有用的。