存档

‘数据库’ 分类的存档

ORACLE事务机制,附PHP+ORACLE操作实例

2009年12月23日 CanleiSky 没有评论

        熟悉SQL SERVER的话,肯定常用到BEGIN TRAN和COMMIT TRAN语句。但在ORACLE中并没有这种类似的事务控制语句,ORACLE当然有事务,不然也不会是最牛X的数据库服务器软件了。下面简单的介绍下ORACLE的事务机制。

        在ORACLE中采用隐式事务,既然是隐式事务,显然是不需要COMMIT TRAN语句了,但COMMIT还是要的。

        在默认情况下,ORACLE对每次查询中对表的修改都是有隐式事务的,直到执行到COMMIT;或ROLLBACK;时提交或回滚事务。

        下面附上一段在PHP中一条语句操作多个表的解决办法。OCI_DEFAULT模式将默认为每次查询产生一个事务。

$sql = ‘BEGIN

UPDATE TEST_A SET COLUMN_A = 1 WHERE ROWNUM = 1;

UPDATE TEST_B SET COLUMN_B = 2 WHERE ROWNUM =1;

 END;’;

 $conn = oci_connect(’scott’, ‘tiger’, ‘orcl’);

$stmt = oci_parse($conn, $sql);

oci_execute($stmt, OCI_DEFAULT);

// 回滚事务,返回boolean值

$rollbacked = oci_rollback($conn);

// 提交事务,返回boolean值

$commited = oci_commit($conn);

实例完毕,谢谢收看CCTV。

分类: PHP, 数据库 标签:

设置Oracle Instant Client(windows 版)

2009年11月22日 CanleiSky 1 条评论

第一步,下载Instant Client for Microsoft Windows (32-bit)
        下载地址:http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/winsoft.html
        下载和数据库版本一至的Instant Client,本机是10g r2所以选择Version 10.2.0.4

安装:
        1.直接解压到一个目录,本机是:D:\WareSoft\instantclient_10_2
        2.设置环境变量
            在PATH变量后追回D:\WareSoft\instantclient_10_2
            新建TNS_ADMIN变量,值为:D:\WareSoft\instantclient_10_2
            新建LD_LIBRARY_PATH变量,值为:D:\WareSoft\instantclient_10_2
           新建NLS_LANG变量(连接字符集,本机是UTF-8),值为:SIMPLIFIED CHINESE_CHINA.AL32UTF8
3.创建链接配置文件
           新建文件,命名为:tnsnames.ora,放到D:\WareSoft\instantclient_10_2下,内容示例:
192.168.1.105 =
    (DESCRIPTION =
        (ADDRESS_LIST =
            (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.105)(PORT = 1521))
    )
    (CONNECT_DATA =
        (SERVICE_NAME = XE)
)
)
内容说明:
192.168.1.105(链接别名) =
    (DESCRIPTION =
        (ADDRESS_LIST =
            (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.105(服务器IP))(PORT = 1521(服务端口)))
    )
    (CONNECT_DATA =
        (SERVICE_NAME = XE(服务端口,rpm版的为XE,tar版的是ORCL)
    )
)

分类: 数据库 标签:

CentOS安装Oracle 10G R2日记

2009年11月21日 CanleiSky 没有评论

Oracle可以免费使用
Oracle 10G R2下载地址:
http://www.oracle.com/technology/global/cn/software/products/database/xe/htdocs/102xelinsoft.html
下载通用版(含语言包的) : oracle-xe-univ-10.2.0.1-1.0.i386.rpm
rpm包无法设置安装路径,如果一定要设置选译tar.gz的
下载后打开命令行:
[root@localhost ~]# cd /opt/download/
[root@localhost download]# rpm -ivh oracle-xe-univ-10.2.0.1-1.0.i386.rpm
一直回车,输入SYSTEM密码,安装成功。
默认数据库端口是1521,默认HTTP管理端口是8080,HTTP管理地址:http://127.0.0.1:8080/apex

安装完成,现在可以去http://127.0.0.1:8080/apex爽一把了

分类: 数据库 标签:

SQL SERVER设置自增字段值

2009年9月22日 CanleiSky 没有评论

把下面的TableName改成自己的表名,0是设置自增值是多少

DBCC CHECKIDENT(TableName, RESEED, 0)

分类: 数据库 标签:

Navicat导出包含中文的Text字段BUG

2009年9月7日 admin 没有评论

Navicat是个比较牛x的工具,但在导出包含中文的Text字段时会不能正确的将中文转成十六进制,导致了这个字段全部乱码,找了所有的设置项都没发现有关此设置,只有做罢,用SQLYog代替其导出数据库~,无奈中。。。

分类: 开发工具, 数据库 标签:

sql concat函数

2009年9月7日 admin 没有评论

concat函数提供将一些字符连接到一起的功能。
简单的测试一下输入sql命令:
select concat(’aaa’,'bbb’,'ccc’)
看看得出的结果是不是 aaabbbccc
还可以将concat应用于模糊搜索
select * from tablea where concat(title, subject, content) like ‘%keyword%’
这样一来简化了sql语句,第二是搜索的范围小了、速度快

分类: 数据库 标签: