Tag: sql

Oracle DB:我怎样才能写查询忽略大小写?

正如我写的标题,我有SQL查询,在Oracle DB上运行,可以说: SELECT * FROM TABLE WHERE TABLE.NAME Like 'IgNoReCaSe' 如果我愿意,那个查询会返回“IGNORECASE”,“ignorecase”或者它们的组合,那么这个怎么做呢? 这可能吗?

SQL Server Compact 4.0与SQLite

我有兴趣为我的WPF应用程序selectembedded式数据库引擎。 我想了解SQLite和最新的SQL CE 4.0如何比较的信息。 如果我应该select一个。 兴趣点将是对EF4的CTP和NHibernate 3的ORM支持。 提前致谢!

在事务中截断表

可以在事务中使用SQL“truncate table”命令吗? 我正在创build一个应用程序,我的桌子上有很多logging。 我想删除所有的logging,但如果应用程序失败,我是回滚我的交易。 删除每个logging需要很长时间。 我想知道如果我使用截断表,我仍然可以回滚事务,并在发生故障时恢复数据。 我意识到截断表不写入每个删除到事务日志,但我想知道是否它写页面释放到日志,以便回滚工作。

SQL中的“@”符号是做什么的?

我正在浏览问题,并注意到这一点: SELECT prodid, issue FROM Sales WHERE custid = @custid AND datesold = SELECT MAX(datesold) FROM Sales s WHERE s.prodid = Sales.prodid AND s.issue = Sales.issue AND s.custid = @custid 我想知道custID前面的“@”是什么? 这只是从被选表中引用custID的一种方法吗?

在SQL中从存储过程获取RETURN值

我有一个存储过程,其结尾的RETURN值为0或1。 我想在另一个存储过程的IF语句中使用此值。 我怎样才能得到前存储过程的返回值,并将其保存在后者的variables? 我找不到任何相关的东西。 所有的问题都是关于在C#中获取RETURN值的。 我在想,也许是这样的: SP_Two DECLARE @returnValue INT SET @returnValue = EXEC SP_One IF @returnValue = 1 BEGIN –do something END ELSE BEGIN –do something else END

SQL列定义:默认值和非空冗余?

我已经多次看到以下在create / alter DDL语句中定义列的语法: ALTER TABLE tbl ADD COLUMN col VARCHAR(20) NOT NULL DEFAULT "MyDefault" 问题是:既然指定了一个默认值,是否有必要指定列不应该接受NULL? 换句话说,不是DEFAULT呈现NOT NULL多余?

SQL与条件和

我目前有一个大的SQL语句,我添加下面的行来获取每个事务ID(这是唯一的)的总现金: select sum(cash) from Table a where a.branch = p.branch and a.transID = p.transID) TotalCash 我现在需要做同样的事情,但只有总值在上个月有价值的现金价值,所以我有这样的事情: select sum(CASE ValueDate WHEN > @startMonthDate THEN cash ELSE NULL END) from Table a where a.branch = p.branch and a.transID = p.transID) TotalMonthCash 对不起,我没有整个的声明,但它是真的很长,特定于存储过程的上下文,但希望有人知道我的意思?

Postgres:如何做复合键?

我无法理解创build复合键时的语法错误。 这可能是一个逻辑错误,因为我testing了许多品种。 你如何在Postgres中创build复合键? CREATE TABLE tags ( (question_id, tag_id) NOT NULL, question_id INTEGER NOT NULL, tag_id SERIAL NOT NULL, tag1 VARCHAR(20), tag2 VARCHAR(20), tag3 VARCHAR(20), PRIMARY KEY(question_id, tag_id), CONSTRAINT no_duplicate_tag UNIQUE (question_id, tag_id) ); ERROR: syntax error at or near "(" LINE 3: (question_id, tag_id) NOT NULL, ^

完整的外部连接与完全连接

只是玩弄查询和例子,以更好地理解联接。 我注意到,在SQL Server 2008中,以下两个查询给出了相同的结果: SELECT * FROM TableA FULL OUTER JOIN TableB ON TableA.name = TableB.name SELECT * FROM TableA FULL JOIN TableB ON TableA.name = TableB.name 这些执行完全相同的行动,以产生相同的结果,或者我会碰到一个更复杂的例子不同的结果? 这只是可互换的术语吗?

在SQL Server 2008 GUI中添加唯一约束?

我有一个现有的数据表。 我刚刚添加了一个新列,但是我找不到如何在该列上添加唯一约束。 有人可以请指教? 右键单击并select“检查约束”没有帮助。