易截截图软件、单文件、免安装、纯绿色、仅160KB

SQLite中不支持的sql语法

今天很自然的在写Sql语句的时候用了Top,一开始没发现问题,因为我从数据库读出的值正好是0,而我习惯变量定义的时候也都赋值0,可是到我不要0的时候我就发现问题了。后来才知道,可爱的小sqlite竟然有不支持的sql语法。
  看到某个论坛有个新手也发现了这个问题并发帖了,下面一牛人的回复是“top是哪家的关键词?sqlite家没有这词的”,哈,原来top这词是mssql里才有的~
  最后还想说,数据库绝对是很重要的一块。我的基础语法很垃圾,过几天认真记录下。
  Google之下的结果:
1 TOP
  这是一个大家经常问到的问题,例如在SQLSERVER中可以使用如下语句来取得记录集中的前十条记录:
  SELECT TOP 10 * from [index] ORDER BY indexid DESC;
  但是这条SQL语句在SQLite中是无法执行的,应该改为:
  SELECT * from [index] ORDER BY indexid DESC limit 0,10;
  其中limit 0,10表示从第0条记录开始,往后一共读取10条
2 创建视图(Create View)
  SQLite在创建多表视图的时候有一个BUG,问题如下:
  CREATE VIEW watch_single AS SELECT DISTINCTwatch_item.[watchid],watch_item.[itemid] from watch_item;
  上面这条SQL语句执行后会显示成功,但是实际上除了
  SELECT COUNT(*) from [watch_single ] WHERE watch_ single.watchid = 1;
  能执行之外是无法执行其他任何语句的。其原因在于建立视图的时候指定了字段所在的表名,而SQLite并不能正确地识别它。所以上面的创建语句要改为:
  CREATE VIEW watch_single AS SELECT DISTINCT [watchid],[itemid] from watch_item;
  但是随之而来的问题是如果是多表的视图,且表间有重名字段的时候该怎么办?
3 COUNT(DISTINCT column)
  SQLite在执行如下语句的时候会报错:
    SELECT COUNT(DISTINCT watchid) from [watch_item] WHERE watch_item.watchid = 1;
    其原因是SQLite的所有内置函数都不支持DISTINCT限定,所以如果要统计不重复的记录数的时候会出现一些麻烦。比较可行的做法是先建立一个不重复的记录表的视图,然后再对该视图进行计数。
4 外连接
  虽然SQLite官方已经声称LEFT OUTER JOIN 已经实现,但还没有 RIGHT OUTER JOIN 和 FULL OUTER JOIN。但是实际测试表明似乎并不能够正常的工作。以下三条语句在执行的时候均会报错:
  SELECT tags.[tagid] from [tags],[tag_rss] WHERE tags.[tagid]


相关文档:

SQL语句关键字UNION小知识

   今天在用UNION进行将两个查询结合时,发现加了text类型的字段进去就报错了,错误信息如下:
不能以 DISTINCT 方式选择 text、ntext 或 image 数据类型。
     经过翻阅资料后才知道,原因在于如此操作 无法对text类型判断是否重复,所以要在UNION后加个ALL关键字,如下:
select top ......

SQL SERVER2005版本比较

在windows XP SP3 中是可以安装 SQL Server 2005 的不会有兼容问题 我在安装的时候就什么问题都没看到 安装好后附加一个数据库 用Borland JBuilder 2006 Enterprise 和eclipse 也没问题
SQL2005 分五个版本,如下所列,
  1.Enterprise(企业版),
  2.Development(开发版),
  3.Workgroup,(工作群版)
  4.St ......

用ASP.NET还原与恢复Sql server

上次做了个项目,涉及到数据库的还原和恢复,到网上找了一下,是利用SQLDMO实现的,只要添加SQLDMO引用就好了,然后利用下边的类的方法就可以实现了。
  我把原作者的类扩充了一下,可以自动识别web.config里 的数据库连接字符串,可以通过变量设置还原恢复的信息。
  需要注意的时还原,还原的时候问题最大了,有别 ......

如何配置 SQL Server 2005 以允许远程连接

今天在一个VPS上安装sql2005,安装好后本地一直连接不上
简介
在尝试从远程计算机连接到 Microsoft SQL Server 2005 实例时,可能会接收到错误消息。在使用任何程序连接到 SQL Server 时都可能会发生此问题。例如,在使用 SQLCMD 实用工具连接到 SQL Server 时收到以下错误消息:
Sqlcmd:错误:Microsoft SQL Native Cli ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号