<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>CanleiSky Blog &#187; 数据库</title>
	<atom:link href="http://www.oioq.com/weblog/category/database/feed" rel="self" type="application/rss+xml" />
	<link>http://www.oioq.com</link>
	<description>生活的理想是为了理想的生活.</description>
	<lastBuildDate>Sun, 30 May 2010 09:14:05 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>ORACLE事务机制，附PHP+ORACLE操作实例</title>
		<link>http://www.oioq.com/weblog/20091223/oracle%e4%ba%8b%e5%8a%a1%e6%9c%ba%e5%88%b6%ef%bc%8c%e9%99%84phporacle%e6%93%8d%e4%bd%9c%e5%ae%9e%e4%be%8b</link>
		<comments>http://www.oioq.com/weblog/20091223/oracle%e4%ba%8b%e5%8a%a1%e6%9c%ba%e5%88%b6%ef%bc%8c%e9%99%84phporacle%e6%93%8d%e4%bd%9c%e5%ae%9e%e4%be%8b#comments</comments>
		<pubDate>Wed, 23 Dec 2009 14:56:19 +0000</pubDate>
		<dc:creator>CanleiSky</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[数据库]]></category>

		<guid isPermaLink="false">http://www.oioq.com/?p=55</guid>
		<description><![CDATA[        熟悉SQL SERVER的话，肯定常用到BEGIN TRAN和COMMIT TRAN语句。但在ORACLE中并没有这种类似的事务控制语句，ORACLE当然有事务，不然也不会是最牛X的数据库服务器软件了。下面简单的介绍下ORACLE的事务机制。
        在ORACLE中采用隐式事务，既然是隐式事务，显然是不需要COMMIT TRAN语句了，但COMMIT还是要的。
        在默认情况下，ORACLE对每次查询中对表的修改都是有隐式事务的，直到执行到COMMIT;或ROLLBACK;时提交或回滚事务。
        下面附上一段在PHP中一条语句操作多个表的解决办法。OCI_DEFAULT模式将默认为每次查询产生一个事务。
$sql = &#8216;BEGIN
UPDATE TEST_A SET COLUMN_A = 1 WHERE ROWNUM = 1;
UPDATE TEST_B SET COLUMN_B = 2 WHERE ROWNUM =1;
 END;&#8217;;
 $conn = oci_connect(&#8217;scott&#8217;, &#8216;tiger&#8217;, &#8216;orcl&#8217;);
$stmt = oci_parse($conn, $sql);
oci_execute($stmt, OCI_DEFAULT);
// 回滚事务，返回boolean值
$rollbacked = oci_rollback($conn);
// 提交事务，返回boolean值
$commited = oci_commit($conn);
实例完毕，谢谢收看CCTV。
]]></description>
			<content:encoded><![CDATA[<p>        熟悉SQL SERVER的话，肯定常用到BEGIN TRAN和COMMIT TRAN语句。但在ORACLE中并没有这种类似的事务控制语句，ORACLE当然有事务，不然也不会是最牛X的数据库服务器软件了。下面简单的介绍下ORACLE的事务机制。</p>
<p>        在ORACLE中采用隐式事务，既然是隐式事务，显然是不需要COMMIT TRAN语句了，但COMMIT还是要的。</p>
<p>        在默认情况下，ORACLE对每次查询中对表的修改都是有隐式事务的，直到执行到COMMIT;或ROLLBACK;时提交或回滚事务。</p>
<p>        下面附上一段在PHP中一条语句操作多个表的解决办法。<tt><span style="color: #ff0000;">OCI_DEFAULT模式将默认为每次查询产生一个事务。</span></tt></p>
<p>$sql = &#8216;BEGIN</p>
<p>UPDATE TEST_A SET COLUMN_A = 1 WHERE ROWNUM = 1;</p>
<p>UPDATE TEST_B SET COLUMN_B = 2 WHERE ROWNUM =1;</p>
<p> END;&#8217;;</p>
<p> $conn = oci_connect(&#8217;scott&#8217;, &#8216;tiger&#8217;, &#8216;orcl&#8217;);</p>
<p>$stmt = oci_parse($conn, $sql);</p>
<p>oci_execute($stmt, <tt><strong>OCI_DEFAULT</strong></tt>);</p>
<p>// 回滚事务，返回boolean值</p>
<p>$rollbacked = oci_rollback($conn);</p>
<p>// 提交事务，返回boolean值</p>
<p>$commited = oci_commit($conn);</p>
<p>实例完毕，谢谢收看CCTV。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.oioq.com/weblog/20091223/oracle%e4%ba%8b%e5%8a%a1%e6%9c%ba%e5%88%b6%ef%bc%8c%e9%99%84phporacle%e6%93%8d%e4%bd%9c%e5%ae%9e%e4%be%8b/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>设置Oracle Instant Client(windows 版)</title>
		<link>http://www.oioq.com/weblog/20091122/oracle-instant-client-windows</link>
		<comments>http://www.oioq.com/weblog/20091122/oracle-instant-client-windows#comments</comments>
		<pubDate>Sat, 21 Nov 2009 16:41:30 +0000</pubDate>
		<dc:creator>CanleiSky</dc:creator>
				<category><![CDATA[数据库]]></category>

		<guid isPermaLink="false">http://www.oioq.com/?p=39</guid>
		<description><![CDATA[第一步，下载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 =
        [...]]]></description>
			<content:encoded><![CDATA[<p>第一步，下载Instant Client for Microsoft Windows (32-bit)<br />
        下载地址：<a href="http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/winsoft.html">http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/winsoft.html</a><br />
        下载和数据库版本一至的Instant Client，本机是10g r2所以选择Version 10.2.0.4</p>
<p>安装：<br />
        1.直接解压到一个目录，本机是：D:\WareSoft\instantclient_10_2<br />
        2.设置环境变量<br />
            在PATH变量后追回D:\WareSoft\instantclient_10_2<br />
            新建TNS_ADMIN变量，值为：D:\WareSoft\instantclient_10_2<br />
            新建LD_LIBRARY_PATH变量，值为：D:\WareSoft\instantclient_10_2<br />
           新建NLS_LANG变量(连接字符集，本机是UTF-8)，值为：SIMPLIFIED CHINESE_CHINA.AL32UTF8<br />
3.创建链接配置文件<br />
           新建文件，命名为：tnsnames.ora，放到D:\WareSoft\instantclient_10_2下，内容示例：<br />
192.168.1.105 =<br />
    (DESCRIPTION =<br />
        (ADDRESS_LIST =<br />
            (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.105)(PORT = 1521))<br />
    )<br />
    (CONNECT_DATA =<br />
        (SERVICE_NAME = XE)<br />
)<br />
)<br />
内容说明：<br />
192.168.1.105(链接别名) =<br />
    (DESCRIPTION =<br />
        (ADDRESS_LIST =<br />
            (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.105(服务器IP))(PORT = 1521(服务端口)))<br />
    )<br />
    (CONNECT_DATA =<br />
        (SERVICE_NAME = XE(服务端口，rpm版的为XE，tar版的是ORCL)<br />
    )<br />
)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.oioq.com/weblog/20091122/oracle-instant-client-windows/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>CentOS安装Oracle 10G R2日记</title>
		<link>http://www.oioq.com/weblog/20091121/centos%e5%ae%89%e8%a3%85oracle-10g-r2%e6%97%a5%e8%ae%b0</link>
		<comments>http://www.oioq.com/weblog/20091121/centos%e5%ae%89%e8%a3%85oracle-10g-r2%e6%97%a5%e8%ae%b0#comments</comments>
		<pubDate>Sat, 21 Nov 2009 10:55:18 +0000</pubDate>
		<dc:creator>CanleiSky</dc:creator>
				<category><![CDATA[数据库]]></category>

		<guid isPermaLink="false">http://www.oioq.com/?p=35</guid>
		<description><![CDATA[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爽一把了
]]></description>
			<content:encoded><![CDATA[<p>Oracle可以免费使用<br />
Oracle 10G R2下载地址：<br />
http://www.oracle.com/technology/global/cn/software/products/database/xe/htdocs/102xelinsoft.html<br />
下载通用版(含语言包的) ：	oracle-xe-univ-10.2.0.1-1.0.i386.rpm<br />
rpm包无法设置安装路径，如果一定要设置选译tar.gz的<br />
下载后打开命令行：<br />
[root@localhost ~]# cd /opt/download/<br />
[root@localhost download]# rpm -ivh oracle-xe-univ-10.2.0.1-1.0.i386.rpm<br />
一直回车，输入SYSTEM密码，安装成功。<br />
默认数据库端口是1521，默认HTTP管理端口是8080，HTTP管理地址：http://127.0.0.1:8080/apex</p>
<p>安装完成，现在可以去http://127.0.0.1:8080/apex爽一把了</p>
]]></content:encoded>
			<wfw:commentRss>http://www.oioq.com/weblog/20091121/centos%e5%ae%89%e8%a3%85oracle-10g-r2%e6%97%a5%e8%ae%b0/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SQL SERVER设置自增字段值</title>
		<link>http://www.oioq.com/weblog/20090922/sql-server%e8%ae%be%e7%bd%ae%e8%87%aa%e5%a2%9e%e5%ad%97%e6%ae%b5%e5%80%bc</link>
		<comments>http://www.oioq.com/weblog/20090922/sql-server%e8%ae%be%e7%bd%ae%e8%87%aa%e5%a2%9e%e5%ad%97%e6%ae%b5%e5%80%bc#comments</comments>
		<pubDate>Tue, 22 Sep 2009 13:48:07 +0000</pubDate>
		<dc:creator>CanleiSky</dc:creator>
				<category><![CDATA[数据库]]></category>

		<guid isPermaLink="false">http://www.oioq.com/?p=28</guid>
		<description><![CDATA[把下面的TableName改成自己的表名，0是设置自增值是多少
DBCC CHECKIDENT(TableName, RESEED, 0)
]]></description>
			<content:encoded><![CDATA[<p>把下面的TableName改成自己的表名，0是设置自增值是多少</p>
<p>DBCC CHECKIDENT(TableName, RESEED, 0)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.oioq.com/weblog/20090922/sql-server%e8%ae%be%e7%bd%ae%e8%87%aa%e5%a2%9e%e5%ad%97%e6%ae%b5%e5%80%bc/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Navicat导出包含中文的Text字段BUG</title>
		<link>http://www.oioq.com/weblog/20090907/navicat%e5%af%bc%e5%87%ba%e5%8c%85%e5%90%ab%e4%b8%ad%e6%96%87%e7%9a%84text%e5%ad%97%e6%ae%b5bug</link>
		<comments>http://www.oioq.com/weblog/20090907/navicat%e5%af%bc%e5%87%ba%e5%8c%85%e5%90%ab%e4%b8%ad%e6%96%87%e7%9a%84text%e5%ad%97%e6%ae%b5bug#comments</comments>
		<pubDate>Mon, 07 Sep 2009 14:11:17 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[开发工具]]></category>
		<category><![CDATA[数据库]]></category>

		<guid isPermaLink="false">http://www.oioq.com/?p=14</guid>
		<description><![CDATA[Navicat是个比较牛x的工具，但在导出包含中文的Text字段时会不能正确的将中文转成十六进制，导致了这个字段全部乱码，找了所有的设置项都没发现有关此设置，只有做罢，用SQLYog代替其导出数据库~,无奈中。。。
]]></description>
			<content:encoded><![CDATA[<p>Navicat是个比较牛x的工具，但在导出包含中文的Text字段时会不能正确的将中文转成十六进制，导致了这个字段全部乱码，找了所有的设置项都没发现有关此设置，只有做罢，用SQLYog代替其导出数据库~,无奈中。。。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.oioq.com/weblog/20090907/navicat%e5%af%bc%e5%87%ba%e5%8c%85%e5%90%ab%e4%b8%ad%e6%96%87%e7%9a%84text%e5%ad%97%e6%ae%b5bug/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>sql concat函数</title>
		<link>http://www.oioq.com/weblog/20090907/sql-concat%e5%87%bd%e6%95%b0</link>
		<comments>http://www.oioq.com/weblog/20090907/sql-concat%e5%87%bd%e6%95%b0#comments</comments>
		<pubDate>Mon, 07 Sep 2009 14:06:29 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[数据库]]></category>

		<guid isPermaLink="false">http://www.oioq.com/?p=12</guid>
		<description><![CDATA[concat函数提供将一些字符连接到一起的功能。
简单的测试一下输入sql命令：
select concat(&#8217;aaa&#8217;,'bbb&#8217;,'ccc&#8217;)
看看得出的结果是不是 aaabbbccc
还可以将concat应用于模糊搜索
select * from tablea where concat(title, subject, content) like &#8216;%keyword%&#8217;
这样一来简化了sql语句，第二是搜索的范围小了、速度快
]]></description>
			<content:encoded><![CDATA[<p>concat函数提供将一些字符连接到一起的功能。<br />
简单的测试一下输入sql命令：<br />
select concat(&#8217;aaa&#8217;,'bbb&#8217;,'ccc&#8217;)<br />
看看得出的结果是不是 aaabbbccc<br />
还可以将concat应用于模糊搜索<br />
select * from tablea where concat(title, subject, content) like &#8216;%keyword%&#8217;<br />
这样一来简化了sql语句，第二是搜索的范围小了、速度快</p>
]]></content:encoded>
			<wfw:commentRss>http://www.oioq.com/weblog/20090907/sql-concat%e5%87%bd%e6%95%b0/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
