SQL 92 标准
YoYo
项目终于结束了,总结的时候到了... hehe :)
在项目中我们遇到了很多的问题,标准SQL使用就是其中一个。 因为我们在做BI package的时候,一开始都是基于MS SQL 来做的,所以Universe的设计上也没有太多的考虑。 当后来老大告诉我偶们要同时release 一个基于 Oracle 的版本时,我们才发现问题来了。 因为在Universe里面我们使用的SQL很多都不是标准的SQL,很多都是MSSQL所独有的,也就是 T-SQL(Transcate SQL), 所以当把universe移植到Oracle上的时候,我们不得不为Oracle重新做了一套Universe。又因为Dashboard和Crystal Reports都是基于Universe来做的,所以最后我们的efforts 被扩大了一倍 ... 杯具啊!!
项目做完了,现在来研究下哪些SQL是通用的,防止以后不要犯同样的错误。 以下内容均为本人google 所得,转载喽~~ hehe~
【概念总结】
1. 基本应用上,sql server 和oracle都遵循sql 92语法标准。
2. 实际应用中大家都会超出以上标准,使用各家数据库厂商都提供的丰富的自定义标准函数库和语法。
3. 微软sql server的sql 扩展叫T-SQL(Transcate SQL).
4. Oracle 的sql 扩展叫PL-SQL.
5. 最简单的插入、删除操作都差不多,但是稍微复杂一点,都不一样了。比如涉及到跨数据表,跨数据库,跨用户的操作的语法不一样。
6. 一个很简单的例子,去数据库系统时间的写法
tsql: select getdate()
pl-sql: select sysdate from dual
【SQL 92国际标准】
1. HOWTO - SQL92 Syntax
- http://owen.sj.ca.us/rkowen/howto/sql92F.html
2. Wikipedia
- http://en.wikipedia.org/wiki/SQL-92
- http://en.wikipedia.org/wiki/SQL
【前人总结】
1. Oracle与SQL Server的几点不同
- http://www.programfan.com/blog/article.asp?id=9101
2. SQL 92语法标准
以下内容来自CSDN博客,转载请标明出处:http://blog.csdn.net/wnhoo/archive/2007/04/11/1560941.aspx
==================================================
SQL92 Syntax and common or <Oracle> additions (not = '!')
相关文档:
系统环境:Windows 7
软件环境:Visual C++ 2008 SP1 +SQL Server 2005
本次目的:编写一个航空管理系统
这是数据库课程设计的成果,虽然成绩不佳,但是作为我用VC++ 以来编写的最大程序还是传到网上,以供参考。用VC++ 做数据库设计并不容易,但也不是不可能。以下是我的程序界面,后面 ......
做数据库开发或管理的人经常要创建大量的测试数据,动不动就需要上万条,如果一条一条的录入,那会浪费大量的时间,本文介绍了Oracle中如何通过一条SQL快速生成大量的测试数据的方法。
产生测试数据的SQL如下:
SQL> select rownum as id,
2 &nb ......
四:ORACLE的优化器
优化器有时也被称为查询优化器,这是因为查询是影响数据库性能最主要的部分,不要以为只有SELECT语句是查询。实际上,带有任何WHERE条件的DML(INSERT、UPDATE、DELETE)语句中都包含查询要求,在后面的文章中,当说到查询时,不一定只是指SELECT语句,也有可能指DML语句中的查询部分。优化器是所有关系 ......
命题:写出一条Sql语句: 取出表A中第31到第40记录(自动增长的ID作为主键, 注意:ID可能不是连续的。)
oracle数据库中:
1、select * from A where rownum<=40 minus select * from A where rownum<=30
sqlserver数据库中:
1、select top 10 * from A where id not in (select top 30 id from A )
2、s ......
数据库所有者 (DataBase Owner)
dbo 是具有在数据库中执行所有活动的暗示性权限的用户。将固定服务器角色 sysadmin 的任何成员都映射到每个数据库内称为 dbo 的一个特殊用户上。另外,由固定服务器角色 sysadmin 的任何成员创建的任何对象都自动属于 ......