oracle中的单引号和双引号
在Oracle中:
双引号的作用是:如果创建对象的时候,对象名、字段名加双引号,则表示Oracle将严格区分大小写,否则Oracl都默认大写。
而单引号则表示:这个加了单引号的字段是一个字类似字符串,并不区分大小写。
单引号用于标识字符与数字的区别
当指定字符串文本时,必须用单引号将字符串文本引住。
Oracle10g之前,如果字符串文本里含有单引号,那么必须使用两个单引号表示。例如:I'm a String!
字符串文本则为:string_var:='I''m a String!'
在oracle10g中可以使用其它分隔符(<>,[],{}等),注意,使用这些分隔符时,不仅要在分隔符前后加单引号,还要带有前缀q.例:string_var:=q'[I''m a String!]';
例如
select * from table_name where id=1;这种代表查询的是数字
select * from table_name where id='1';这种代表查询的是字符
如果是双引号是这样,假如你有个表的字段叫sysdate,因为sysdate属于oracle中的特有字符,但你要查询这个字段的时候
select "sysdate" from table_name;
但是你要是用
select 'sysdate' from table_name;
那么你查出来的就是字符串,结果是sysdate
使用如下的更新语句不行:update device set dept='select * from message where name='tom' ' ;
解决方法:
update device set dept='select * from message where name=' 'tom' ' where id=3' ;
执行成功。
原来,两个'' 表示了一个'
另外:
在sql中可用+进行字符串连接.
在oracle中是用||进行字符串连接
相关文档:
有了游标,就可以不用每条数据去检查是否符合条件,先看一下下面的:
--游标使用(游标其实是一个放入内存临时表)
declare
money cms3_simcard.card_fee%type :=0; --定义与表字段相同类型
cursor mycursor is --定义游标
select ......
今天在一台2003server上安装 9i客户端。
配置了tns之后连接,报错 "ORA-06413 连接未打开错误".
把其它服务器的tnsname.ora直接拷贝过来也不行。
后来查了一下资料,说应用程序路径里边有特殊字符。
这才恍然大悟,两年前这个问题已经折磨过我一次了,脑子不好,竟然给忘了。
原因就是64位系统环境下安装oracle,oralc ......
--oralce中从表中随机取出n条记录
select * from (select t.*,dbms_random.random num from fms_branch_info t order by num)
where rownum <= 5;
--取前十行
SELECT t.* from fms_branch_info t
WHERE ROWNUM != 10
--WHERE ROWNUM between 1 and 10
ORDER BY branch_code;
......
--在应用程序中往往有些固定的数据库操作,我们常常为致谢固定的操作定义了一些存储过程。这些存储过程不仅
--可以简化客户端的应用程序的开发和维护。而且还可以提高应用的运行性能。
-- 创建存储过程的语法。
create [or replace] procedure <过程名>[(参数)]
is|as
[局部变量声明]
begin
......
作者:易文俊
邮箱:yiwenjun@126.com
首先要把Oracle 的监听和服务两项打开
打开odbc数据源配置界面,选择系统DSN,添加,选择Oracle驱动程序
关键是下面参数的设置
Data source name:自己为该数据源命的名
description:随便自己描述啦
TNS server name:下拉菜单有(如果没有的话,就自己在net configuration assist ......