至高吴上(Alfa.wu)

一个人,一生,能坚持做好一件事情是多么的牛XX啊!!!

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

随笔分类 -  数据库相关

摘要:SQL 取varchar类型字段中纯数字行.有这样一个需求:需要把一个varchar类型字段中所有纯数字的行取出来.那么这个Select语句要怎么写呢?首先想到的是isnumeric()这个SQL函数.SQL语句如下:select* fromview_user whereisnumeric(logid)=1但是发现这样的运行结果并不对.因为太长的数据就超出了isnumeric()的判断范围,也就是说有部分超出函数运算范围的的行,没有select进去然后想到用logidnotlike'%[^0-9]%'去过滤,意思就是所有不包含0-9数字的都排除掉,然后再返回,语句如下:sele 阅读全文
posted @ 2013-03-29 11:20 Alfa 阅读(27782) 评论(0) 推荐(0) 编辑

摘要:摘自: http://blog.csdn.net/feifei666888/article/details/4835685两种时间转换格式plsql>select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mi:ss') from dual;select date‘'2005-01-01’ from dual;按规定格式 获得系统时间 如下:select to_char(sysdate,'yyyy-MM-dd HH24:mm:ss') from dualorselect to_ch 阅读全文
posted @ 2013-02-21 18:31 Alfa 阅读(1038) 评论(0) 推荐(0) 编辑

摘要:NC Oracle SQL 脚本跟踪 脚本:select * from v$sqlarea a where 1=1 and a.LAST_ACTIVE_TIME >= to_date( '2013-02-21 18:23:00','yyyy-MM-dd HH24:mi:ss') and a.LAST_ACTIVE_TIME < to_date( '2013-02-21 18:24:00','yyyy-MM-dd HH24:mi:ss') --and a.LAST_ACTIVE_TIME < to_date( 阅读全文
posted @ 2013-02-21 18:30 Alfa 阅读(8538) 评论(0) 推荐(0) 编辑

摘要:set xact_abort ON 在事务中,若出现错误,系统即默认回滚事务begin traninsert into RemoteDBLink.UFSystem.dbo.at_basedata_hold (BD_ID,ACC_ID)select '111','222'select * from RemoteDBLink.UFSystem.dbo.at_basedata_holdif @@error = 0commit tranelserollback tran 阅读全文
posted @ 2013-01-25 00:54 Alfa 阅读(287) 评论(0) 推荐(0) 编辑

摘要:因为自己这次要做一个项目就是,要做数据传递.但是因为大数据量 的一次性更新的,插入.使得 C# 在执行脚本时,老是超时.原先一直以为把 ConnectionTimeOut 的时间设长就可以了.可是发现,怎么设都无效,,我都设到.5000了,还是无效.无奈之下,在百度里翻来覆去的找....怎么都找不到.因为脚本放在,SQL查询分析器里,执行完全没有问题.就是时间长了点.于是,再继续翻.翻了好久,终于看到一篇有提到 command也有一个 ConnectionTimeOut 属性. 于是设了一下,居然成功了!!!!所以,要想不超时,还要调协 Command的ConnectionTimeOut 的属 阅读全文
posted @ 2013-01-25 00:39 Alfa 阅读(3981) 评论(0) 推荐(0) 编辑

摘要:不同数据库之间复制表的数据的方法: 当表目标表存在时:insert into 目的数据库..表 select * from 源数据库..表当目标表不存在时:select * into 目的数据库..表 from 源数据库..表--如果在不同的SQL之间: insert into openrowset('sqloledb','目的服务器名';'sa';'',目的数据库.dbo.表) select * from 源数据库..表 -- 创建链接服务器 exec sp_addlinkedserver ' ITSV ' , 阅读全文
posted @ 2013-01-24 16:24 Alfa 阅读(19865) 评论(1) 推荐(3) 编辑

摘要:思路:在本地数据库的表中创建update的触发器,在有数据更新时同时更新远程服务器上得数据库。这需要启用双方服务器上得分布式事务MSDTC服务。1、在要数据同步更新的表上创建触发器:Create trigger 触发器名 on 数据表名for updateasif update (字段名1) or update (字段名2) or ......beginSET XACT_ABORT ONBEGIN DISTRIBUTED TRANSACTIONupdate rset r.字段1=i.字段1,r.字段2=i.字段2from [远程数据库IP].数据库名.dbo.数据表名 as r inner j 阅读全文
posted @ 2013-01-24 16:19 Alfa 阅读(1504) 评论(0) 推荐(0) 编辑

摘要:服务器×××上的MSDTC不可用解决办法MSDTC(分布式交易协调器),协调跨多个数据库、消息队列、文件系统等资源管理器的事务。该服务的进程名为Msdtc.exe,该进程调用系统Microsoft Personal Web Server和Microsoft SQL Server。该服务用于管理多个服务器 .位置:控制面板--管理工具--服务--Distributed Transaction Coordinator依存关系:Remote Procedure Call(RPC)和Security Accounts Manager 建议:一般家用计算机涉及不到,除非你启 阅读全文
posted @ 2013-01-24 16:10 Alfa 阅读(257) 评论(0) 推荐(0) 编辑

摘要:sql2005跨服务器查询的语句_百度知道2009-06-02 14:20:57|分类: 默认分类 |标签: |字号大中小订阅--在查询分析器中,在mt-ap-09服务器中创建链接服务器exec sp_addlinkedserver 'srv_lnk','','SQLOLEDB','mt-ap-07'exec sp_addlinkedsrvlogin 'srv_lnk','false',null,'用户名','密码'go--在查询分析器中,建立spcreate pro 阅读全文
posted @ 2013-01-24 15:23 Alfa 阅读(508) 评论(0) 推荐(0) 编辑

摘要:另外在字段中 把 Identity 和ExtIdentitySeedInc 都显示出来,勾选 Identity列,并在 ExtIdentitySeedInc 填入: 1,1 就可以实现 自增标识列了本解决方案背景: 1. 由于PDM 的表中 Name 会默认=Code 所以很不方便, 所以需要将 StereoType 显示到表的外面来,然后再将 StereoType 的值更新到 Comment 列中 来实现,即在外面图型界面显示中文,又能将中文备注添加到 sql2000 或是 sql2005 的字段说明中显示,解决方案: 第一步: 将 StereoType 显示在图形界面上,并隐藏原先... 阅读全文
posted @ 2013-01-11 02:20 Alfa 阅读(4456) 评论(0) 推荐(0) 编辑

摘要:摘自网上,供自己备查用.摘自: http://blog.csdn.net/anyqu/article/details/5831919在经过了N久的痛苦折磨后,终于找到了这个方法。现将方法公布给不知道的朋友,老鸟就不要来扔鸡蛋了!事先声明:本文之基础方法参考了enhydraboy的专栏 中的如何让PowerDesigner支持自动生成含SQL Server 2000的表和列注释的角本说实话,资料是同事发给我的,地址是一个转载上面老兄这篇文章的一个链接。和这老兄一样,只是上来一段代码,说了原理。说有图,却没有见到图。用了文中说的方法后,PD没有任何反应,试了好几次也不使。后来想可能是我机器上是SQ 阅读全文
posted @ 2013-01-11 01:23 Alfa 阅读(519) 评论(0) 推荐(0) 编辑

摘要:drop proc proc_insertgocreate proc proc_insert (@tablename varchar(256))asbeginset nocount ondeclare @sqlstr varchar(4000)declare @sqlstr1 varchar(4000)declare @sqlstr2 varchar(4000)select @sqlstr='select ''insert '+@tablenameselect @sqlstr1=''select @sqlstr2=' ('sele 阅读全文
posted @ 2013-01-07 11:02 Alfa 阅读(370) 评论(0) 推荐(0) 编辑

摘要:ALTER TABLE [stores] NOCHECK CONSTRAINT All --暂停约束ALTER TABLE [stores] DISABLE TRIGGER ALL --暂停触发器--------执行自己的操作--------ALTER TABLE [stores] ENABLE TRIGGER ALL --恢复触发器ALTER TABLE [stores] CHECK CONSTRAINT All --恢复约束select * from sysobjects where xtype='TR'select * from sysobjects where xtyp 阅读全文
posted @ 2013-01-07 10:18 Alfa 阅读(4768) 评论(0) 推荐(0) 编辑

摘要:摘自网上: http://www.163ns.com/zixun/post/4471.html供自己备查数据库置疑的解决方法:(1):如果是严重的置疑,就这样解决停止SQL服务,备份你的置疑的数据库的数据文件(直接将MDF,LDF文件拷贝出去就可以).然后启动SQL服务,再删除置疑的数据库 然后按下面的步骤处理: 1.新建一个同名的数据库 2.再停掉sql server(注意不要分离数据库) 3.用原数据库的数据文件覆盖掉这个新建的数据库 4.再重启sql server 5.此时打开企业管理器时会出现置疑,先不管,在SQL查询分析器中执行下面的语句(注意修改其中的数据库名) 6.完成后(刷新数 阅读全文
posted @ 2012-12-13 11:28 Alfa 阅读(1475) 评论(0) 推荐(0) 编辑

摘要:exec sp_helptext '存储过程名'exec sp_helptext '视图名'exec sp_helptext '触发器名' 阅读全文
posted @ 2012-12-11 11:59 Alfa 阅读(328) 评论(0) 推荐(0) 编辑

摘要:SELECT TOP(100) PERCENT --a.id, d.name AS 表名, CASE WHEN a.colorder = 1 THEN ISNULL(f.value, '') ELSE '' END AS 表说明, ISNULL(g.value, '') AS 字段说明, a.name AS 字段名, b.name AS 类型 ,case when lower( b.name) = 'timestamp' then ... 阅读全文
posted @ 2012-11-28 21:59 Alfa 阅读(1078) 评论(1) 推荐(0) 编辑

摘要:SELECT name AS column_name,TYPE_NAME(system_type_id) AS column_type, max_length,is_nullable FROM sys.columns WHERE object_id=OBJECT_ID(N'表名') 阅读全文
posted @ 2012-11-28 21:52 Alfa 阅读(707) 评论(0) 推荐(0) 编辑

摘要:C# 中如何读取出来的时间戳为 byte[]类型的话,用以下方式转换成 16进制字符串string tmpUfts = "0x"+ BitConverter.ToString(dataRow["ufts"] as System.Byte[], 0).Replace("-","");以下为SQL中的转换select cast(ufts as varbinary(8)) as ufts16, * from a_ufts where ufts16 = 0x0000000012CE0DE7 阅读全文
posted @ 2012-11-21 20:33 Alfa 阅读(5110) 评论(0) 推荐(0) 编辑

摘要:以下方法全部摘自网络,供自己备查使用,如有侵犯您的版权请告知,尽快删除!谢谢!推荐方法:DateTime now = DateTime.Now;byte[] bts = BitConverter.GetBytes(now.ToBinary());DateTime rt = DateTime.FromBinary(BitConverter.ToInt64(bts, 0)); 用了2个byte,日期范围 2000-01-01 ~ 2127-12-31,下面是转换方法: // Date -> byte[2] public static byte[] DateToByt... 阅读全文
posted @ 2012-11-21 09:17 Alfa 阅读(8143) 评论(0) 推荐(0) 编辑

摘要:在SQL Server中联机丛书是这样说的:SQL Server timestamp 数据类型与时间和日期无关。SQL Server timestamp 是二进制数字,它表明数据库中数据修改发生的相对顺序。实现 timestamp 数据类型最初是为了支持 SQL Server 恢复算法。每次修改页时,都会使用当前的 @@DBTS 值对其做一次标记,然后 @@DBTS 加1。这样做足以帮助恢复过程确定页修改的相对次序,但是 timestamp 值与时间没有任何关系。我用口水话解释一下便于理解:我们知道数字类型有个“标识”属性,设置好“标识种子”、“标识递增量”,每增加一条记录时,这个字段的值就会 阅读全文
posted @ 2012-11-08 19:03 Alfa 阅读(2420) 评论(2) 推荐(0) 编辑