﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>IT博客-将程序进行到底-随笔分类-数据库技术</title><link>http://www.cnitblog.com/gold-garden/category/6078.html</link><description /><language>zh-cn</language><lastBuildDate>Thu, 06 Oct 2011 20:53:48 GMT</lastBuildDate><pubDate>Thu, 06 Oct 2011 20:53:48 GMT</pubDate><ttl>60</ttl><item><title>SqlServer 获取表信息</title><link>http://www.cnitblog.com/gold-garden/archive/2008/12/30/53258.html</link><dc:creator>石头</dc:creator><author>石头</author><pubDate>Tue, 30 Dec 2008 09:20:00 GMT</pubDate><guid>http://www.cnitblog.com/gold-garden/archive/2008/12/30/53258.html</guid><wfw:comment>http://www.cnitblog.com/gold-garden/comments/53258.html</wfw:comment><comments>http://www.cnitblog.com/gold-garden/archive/2008/12/30/53258.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnitblog.com/gold-garden/comments/commentRss/53258.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/gold-garden/services/trackbacks/53258.html</trackback:ping><description><![CDATA[项目快结束了，需要对数据库写个文档，包括表的主键，类型，描述等<br />网上查了好多，感觉都不爽，于是查阅Sql帮助文档，自己写了一个，感觉还可以，所以共享出来供大家参考：<br />   SELECT row_number()over(order BY t1.字段代码)序号, t1.字段代码,t1.字段名称,t1.类型,isnull(t2.主键,''), t1.可空,t1.备注 FROM <br />(SELECT c.name 字段代码,value 字段名称, systypes.name 类型,case c.isnullable when 0 then '否' else '是' end  可空, c.length 长度,value 备注<br />FROM systypes,sys.sysobjects o,syscolumns c <br />LEFT JOIN ::fn_listextendedproperty(N'MS_Description', N'user', N'dbo', N'table',@tableName, N'column', default) d<br />ON objname = c.name COLLATE Chinese_PRC_CI_AS<br />WHERE  c.xusertype = systypes.xusertype  <br />AND c.id = o.id<br />AND o.name <a href="mailto:=@tableName">=@tableName</a>) t1<br />LEFT JOIN <br />(SELECT i.name 主键名称,c.name 主键<br />FROM sys.indexes i,sys.sysindexkeys sd, sys.all_columns c, sys.sysobjects o<br />WHERE i.index_id = sd.indid<br />AND i.object_id = o.id<br />AND i.is_primary_key = 1<br />AND sd.id = o.id<br />AND c.object_id = o.id<br />AND c.column_id = sd.colid<br />AND o.xtype='u'<br />AND o.name <a href="mailto:=@tableName">=@tableName</a>) t2 ON t1.字段代码 = t2.主键<br />ORDER BY t1.字段代码 <img src ="http://www.cnitblog.com/gold-garden/aggbug/53258.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/gold-garden/" target="_blank">石头</a> 2008-12-30 17:20 <a href="http://www.cnitblog.com/gold-garden/archive/2008/12/30/53258.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>oracle中rowid接触</title><link>http://www.cnitblog.com/gold-garden/archive/2008/06/20/45904.html</link><dc:creator>石头</dc:creator><author>石头</author><pubDate>Fri, 20 Jun 2008 05:52:00 GMT</pubDate><guid>http://www.cnitblog.com/gold-garden/archive/2008/06/20/45904.html</guid><wfw:comment>http://www.cnitblog.com/gold-garden/comments/45904.html</wfw:comment><comments>http://www.cnitblog.com/gold-garden/archive/2008/06/20/45904.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/gold-garden/comments/commentRss/45904.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/gold-garden/services/trackbacks/45904.html</trackback:ping><description><![CDATA[
		<span class="hilite1">Oracle</span>的物理扩展<span class="hilite2">ROWID</span>有18位，每位采用64位编码，分别用A~Z、a~z、0~9、+、/共64个字符表示。A表示0，B表示1，……Z表示25，a表示26，……z表示51，0表示52，……，9表示61，+表示62，/表示63。 <br />select <span class="hilite2">rowid</span>,row_id from test_<span class="hilite2">rowid</span>; <br />返回结果为： <br /><span class="hilite2">rowid</span>                                           row_id <br />AAAO0DAAJAAAAMYAAA   AAAO0DAAJAAAAMYAAA <br /><br /><br /><span class="hilite2">ROWID</span>具体划分可以分为4部分。 <br /><br />(1).OOOOOO：前6位表示DATA OBJECT NUMBER，将起转化位数字后匹配DBA_OBJECTS中的DATA_OBJECT_ID，可以确定表信息。 <br /><br />如上面例子中的DATA OBJECT NUMBER是AAAO0D，转化位数字是14×64×64 ＋52×64 ＋ 3。 <br />输入以下查询： <br />select owner, object_name from dba_objects where data_object_id = 14*64*64 + 52*64 + 3; <br />返回： <br />OWNER OBJECT_NAME <br />WG TEST_<span class="hilite2">ROWID</span><br />(2)FFF：第7到9位表示相对表空间的数据文件号。 <br />上面的例子中是AAJ，表示数据文件9。 <br />输入以下查询： <br />(3).BBBBBB：第10到15位表示这条记录在数据文件中的第几个BLOCK中。 <br /><br />上面的例子是AAAAMY，转化位数字是12×64＋24，表示这条记录在数据文件中的第792个BLOCK。 <br /><br />(4).RRR：最后3位表示这条记录是BLOCK中的第几条记录。 <br /><br />上面的例子是AAA，表示第0条记录（总是从0开始计数）。 <br /><img src ="http://www.cnitblog.com/gold-garden/aggbug/45904.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/gold-garden/" target="_blank">石头</a> 2008-06-20 13:52 <a href="http://www.cnitblog.com/gold-garden/archive/2008/06/20/45904.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Oracle利用视图更新 </title><link>http://www.cnitblog.com/gold-garden/archive/2008/06/13/45660.html</link><dc:creator>石头</dc:creator><author>石头</author><pubDate>Fri, 13 Jun 2008 02:55:00 GMT</pubDate><guid>http://www.cnitblog.com/gold-garden/archive/2008/06/13/45660.html</guid><wfw:comment>http://www.cnitblog.com/gold-garden/comments/45660.html</wfw:comment><comments>http://www.cnitblog.com/gold-garden/archive/2008/06/13/45660.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/gold-garden/comments/commentRss/45660.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/gold-garden/services/trackbacks/45660.html</trackback:ping><description><![CDATA[
		<p>
				<span lang="EN-US">
						<font face="宋体">UPDATE<br />( SELECT /*+ BYPASS_UJVC */<br />A.列名,B.列名 b1 from A,B <br />where a.certificode = b.certificode<br />)<br />SET A.列名=B.列名;<br /></font>
				</span>
		</p>
		<p>
				<font face="宋体">如果A表和B表存在关联，比如查处的结果不唯一，更新时则报错<span class="hilite1"><span lang="EN-US">ORA-01779，如果一定要更新，那就的加上提示:</span></span><span lang="EN-US">  /*+ BYPASS_UJVC */,这样</span><span lang="EN-US">oracle就</span>不检查健约束</font>
		</p>
<img src ="http://www.cnitblog.com/gold-garden/aggbug/45660.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/gold-garden/" target="_blank">石头</a> 2008-06-13 10:55 <a href="http://www.cnitblog.com/gold-garden/archive/2008/06/13/45660.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>更改数据库字段长度</title><link>http://www.cnitblog.com/gold-garden/archive/2007/09/07/33083.html</link><dc:creator>石头</dc:creator><author>石头</author><pubDate>Fri, 07 Sep 2007 05:16:00 GMT</pubDate><guid>http://www.cnitblog.com/gold-garden/archive/2007/09/07/33083.html</guid><wfw:comment>http://www.cnitblog.com/gold-garden/comments/33083.html</wfw:comment><comments>http://www.cnitblog.com/gold-garden/archive/2007/09/07/33083.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/gold-garden/comments/commentRss/33083.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/gold-garden/services/trackbacks/33083.html</trackback:ping><description><![CDATA[<p>项目开发一段时间了，发现表里面一个字段少了一位，郁闷呀，插入老是报列过大，可是表关联贼多，怎么办呢？实在没有啥好方法，于是写了段SQL，不过缺点是表如果表之间有关联，必须先清空表中的数据，一个表当然无所谓了，呵呵。。。。。&nbsp; 这样就可以更改属于你们自己用户下的所有包含此字段的表，查出来是更新语句，你把它整体复制执行就可以了</p>
<p>select distinct 'alter&nbsp;&nbsp; table&nbsp;&nbsp; ' || table_name || '&nbsp;&nbsp; modify&nbsp;&nbsp;&nbsp;' || ColumnName || '&nbsp;&nbsp; CHAR(17);'<br>&nbsp;&nbsp;&nbsp; from cols<br>&nbsp;&nbsp; where data_type = 'CHAR'<br>&nbsp;&nbsp; and column_name = ColumnName</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; and table_name in( <br>select t.object_name from all_objects t where t.owner='NEWPRAS' and t.object_type ='TABLE')</p>
<img src ="http://www.cnitblog.com/gold-garden/aggbug/33083.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/gold-garden/" target="_blank">石头</a> 2007-09-07 13:16 <a href="http://www.cnitblog.com/gold-garden/archive/2007/09/07/33083.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>