Tag: sql

序列与身份

SQL Server 2012引入了Sequence作为新function,与Oracle和Postgres相同。 序列优先于身份? 为什么我们需要序列?

dbms_lob.getlength()与length()在oracle中查找blob大小

我得到了相同的结果 select length(column_name) from table 如 select dbms_lob.getlength(column_name) from table 但是, 这个问题的答案似乎有利于使用dbms_lob.getlength() 。 使用dbms_lob.getlength()有什么好处吗? 如果它改变了答案,我知道所有的斑点都是.bmp图像(以前从未与斑点一起工作过)。

SQL Server:附加不正确的版本661

当试图将数据库文件附加到: Microsoft SQL Server 2008 (SP2) – 10.0.4000.0 (X64) Sep 16 2010 19:43:16 <X64> (Build 7600: ) 我得到这个错误消息: 数据库无法打开,因为它是版本661.此服务器支持版本662和更早版本。 降级path不受支持。 任何想法为什么? 以及如何解决它?

SQL仅当logging不存在时插入到表中

我想要运行一组查询来将一些数据插入到一个SQL表中,但只有满足某些条件的logging才会被满足。 该表有4个字段: id (主), fund_id , date和price 我在查询中有3个字段: fund_id , date和price 。 所以我的查询会像这样: INSERT INTO funds (fund_id, date, price) VALUES (23, '2013-02-12', 22.43) WHERE NOT EXISTS ( SELECT * FROM funds WHERE fund_id = 23 AND date = '2013-02-12' ); 所以我只想插入数据,如果匹配的fund_id和date的logging不存在。 如果以上是正确的,那么我认为这是一个非常低效的方法,因为每次都必须运行额外的select语句。 有没有更好的方法来达到上述目的? 编辑:澄清既不fund_id也不是唯一的领域; 共享相同的fund_id或date的logging将存在,但是没有logging应该具有与另一个相同的fund_id和date。

如何改变约束

SQL如何改变约束 下面是我的约束之一 CONSTRAINT ACTIVEPROG_FKEY1 FOREIGN KEY(ActiveProgCode) REFERENCES PROGRAM(ActiveProgCode), 我想补充 ON DELETE CASCADE 到上面的约束。 我如何改变现有的约束ACTIVEPROG_FKEY1并添加 ON DELETE CASCADE 约束ACTIVEPROG_FKEY1 考虑ACTIVEPROG_FKEY1是在表ACTIVEPROG

什么数据types应该用于在SQL Server 2005中存储电话号码?

我需要将电话号码存储在一个表格中。 请build议使用哪种数据types? 等待。 请在回复之前阅读 这个字段需要大量索引,因为销售代表可以使用这个字段进行search(包括通配符search)。 到目前为止,我们正在期待电话号码有多种格式(来自XML文件)。 我是否必须编写一个parsing器来转换为统一的格式? 可能有数百万的数据(重复),我不想捆绑服务器资源(像预处理太多的活动),每次有一些源数据通过.. 任何build议,欢迎.. 更新: 我无法控制源数据。 只是XML文件的结构是标准的。 希望保持XMLparsing到最低限度。 一旦它在数据库中,检索应该是快速的。 一个疯狂的build议是,它甚至可以使用Ajax AutoCompletefunction(所以Sales Reps可以立即看到匹配的)。 我的天啊!!

为什么和什么时候应该使用SPARSE COLUMN? (SQL SERVER 2008)

通过SQL SERVER 2008的新特性SPARSE COLUMN的一些教程后,我发现它不会占用任何空间,如果列值是0或空值,但是当有一个值,它需要4倍的空间常规(非稀疏)列成立。 如果我的理解是正确的,那么为什么我会在数据库devise的时候去做呢? 如果我使用那个,那么在什么情况下,我呢? 同样出于好奇,当列被定义为稀疏列时,怎么没有空间得到保留(我的意思是说,什么是内部实现) 提前致谢

MySQL INNER JOIN只从第二个表中select一行

我有一个users表和payments表,为每个用户,其中有付款,可能有多个关联付款的payments表。 我想select所有有付款的用户,但只select他们的最新付款。 我正在尝试这个SQL,但我从来没有尝试嵌套的SQL语句之前,所以我想知道我做错了什么。 感谢帮助 SELECT u.* FROM users AS u INNER JOIN ( SELECT p.* FROM payments AS p ORDER BY date DESC LIMIT 1 ) ON p.user_id = u.id WHERE u.package = 1

如何在MySQL select语句中编写条件?

我正在使用MySQL,我想在我的SQL中做一种三元语句,如: SELECT USER_ID, ((USER_ID = 1) ? 1 : 0) AS FIRST_USER FROM USER 结果将类似于: USER_ID | FIRST_USER 1 | 1 2 | 0 3 | 0 etc. 如何做到这一点?

当进行多个连接时,MySQL不正确的tmp表的密钥文件

我不是经常来这里寻求帮助,但是我很沮丧,我希望以前有人遇到过。 每当我尝试使用多个连接从表中获取logging,我得到这个错误: #126 – Incorrect key file for table '/tmp/#sql_64d_0.MYI'; try to repair it 所以这个查询会产生错误: SELECT * FROM `core_username` INNER JOIN `core_person` ON (`core_username`.`person_id` = `core_person`.`id`) INNER JOIN `core_site` ON (`core_username`.`site_id` = `core_site`.`id`) ORDER BY `core_username`.`name` ASC LIMIT 1 但是这个不会: SELECT * FROM `core_username` INNER JOIN `core_person` ON (`core_username`.`person_id` = `core_person`.`id`) ORDER BY `core_username`.`name` ASC […]