随笔分类 - 数据库技术
摘要:在SQLServer里面有top关键字可以很方便的取出前N条记录,但是Oracle里面却没有top的使用,类似实现取出前N条记录的简单方法如下:方法1:利用ROW_NUMBER函数取出前5条记录:SELECT NO FROM ( SELECT ROW_NUMBER() OVER (ORDER BY NO) RNO, NO FROM ROWNUM_TEST)WHERE RNO <= 5 ORDER BY NO ;取出中间5条记录:SELECT NO FROM ( SELECT ROW_NUMBER() OVER (ORDER BY NO) RNO, NO FROM ROWNUM_T...
阅读全文
摘要:oracle数据库,表数据如下:idsid3,4,5713,14,15,1617想要使用sql,实现将ids按照逗号分割后查询到如下记录:idsid3747571317141715171617在Oracle9i以上版本中,可以使用regexp_substr实现。具体sql语句如下:selectid,idsfrom(selectregexp_substr(ids,'[^,]+',1,lvl)ids,lvl,idfromtbl,(selectlevellvlfromdualconnectbylevel<=(selectmax(length(regexp_replace(ids
阅读全文
摘要:一 ping 服务器IP是否ping通。 这个实际上是看和远程sql server 2000服务器的物理连接是否存在。如果不行,请检查网络,查看配置,当然得确保远程sql server 2000服务器的IP拼写正确。 二 在Dos或命令行下输入telnet 服务器IP 端口,看能否连通。 如telnet 202.114.100.100 1433 通常端口值是1433,因为1433是sql server 2000的对于Tcp/IP的默认侦听端口。如果有问题,通常这一步会出问题。通常的提示是“……无法打开连接,连接失败"。 如果这一步有问题,应该检查以下选项。 1 检查远程服务器是否..
阅读全文
摘要:--sql生成文本文件1declare @cmd varchar(8000) declare @info varchar(8000) set @info = 'this is test content'set @cmd = 'echo ' + @info +' >>c:\abc.txt' --'>>'是在已有同名文件中追加内容,'>'是重新生成文件覆盖原来的内容exe...
阅读全文
摘要:代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/----10进制转16进制createfunctioninttohex(@int10int)returnsvarchar(8)begindeclare@int10intdeclare@str16nvarc...
阅读全文
摘要:最近,我们的一个客户在WinXp系统上安装了我们的web版的应用系统,由于WinXP下的IIS对连接数的限制,在试用系统的过程中频繁出现“网站连接用户过多”的问题,因此我们建议客户使用Win2003 Server做服务器系统;在我之前的记忆中,Win2003 Server的各个版本应该都可以使用,客户选择了Win2003 Server Web Edtion版本来安装服务器;...
阅读全文
摘要:一段时间来,每天的工作都比较杂,vb,asp,c#,sql,每项工作都要搞,实在是累!工作之余,想想公司和工作的情况,看来是有必要换个环境了。不过也要先把目前的工作处理完成啊。 最近又遇到一个问题:一家客户使用中的数据库,日志文件异常增大,平均每天增加大约一个G,而数据文件变化不大。这两天开始查这个问题,但是好几天时间过去了,一直没有头绪。已经做了重建索引,重装sql,重装系统,更换服务器等操作,...
阅读全文
摘要:syscolumns 每个表和视图中的每列在表中占一行,存储过程中的每个参数在表中也占一行。该表位于每个数据库中。 列名数据类型描述namesysname列名或过程参数的名称。idint该列所属的表对象 ID,或与该参数关联的存储过程 ID。xtypetinyintsystypes 中的物理存储类型。typestattinyint仅限内部使用。xusertypesmallint扩展的用户定义数据...
阅读全文
摘要:关于ADO的AddNew方法与Update方法,MSDN上的说明如下所述。这里主要说下这两个方法与Identiey列的关系:如果在AddNew的这个表上有Identity列,当在调用Update方法后,对应的这个Identity列的值为Update后的@@Identity值;如果在当前表上有触发器,并操作到其他有Identity列的表,则要注意,在Update后得到的这个Identity列值可能不...
阅读全文
摘要:@@IDENTITY:返回最后插入的标识值的系统函数。SCOPE_IDENTITY:返回插入到同一作用域中的标识列内的最后一个标识值。一个范围是一个模块:存储过程、触发器、函数或批处理。因此,如果两个语句处于同一个存储过程、函数或批处理中,则它们位于相同的作用域中。IDENT_CURRENT:返回为指定的表或视图生成的最后一个标识值。所生成的最后一个标识值可以针对任何会话和任何作用域。语法:IDE...
阅读全文
摘要:sql2005下,如下sql: declare @sql varchar(2000)set @sql='select * from Sysobjects'exec(@sql)在此如果不加括号,如(exec @sql),就会提示"找不到存储过程 'select * from Sysobjects'。";加上括号则可正常执行.exec执行存储过程或者函数,不用加挎号,否则要加见 http://msdn...
阅读全文
摘要:最近在给一家客户做系统维护时,需要查看数据库表的大小,相关的sql如下:1. exec sp_spaceused '表名' --(SQL统计数据,大量事务操作后可能不准)2. exec sp_spaceused '表名', true --(准确的表空间大小,但可能会花些统计时间)3. exec sp_spaceused -- (数据库大小查询)4. exec sp_MSforeachtable "...
阅读全文
摘要:最近实施的一个项目,因为两个软件的后台数据库不能共存于一个服务器上(一些相关的设置有冲突),因此需要跨服务器进行数据库的同步,查找了一些相关的资料,跨服务器数据的同步处理方式一种是复制(replication),即将数据由某处复制到一个或多个目的地;另一种即链接服务器。因为此项目的数据同步比较简单,故主要采用链接服务器来处理同步数据!以下是关于链接服务器的使用方法:配置链接服务器链接服务器一般用来...
阅读全文
摘要:myfavorite DECLARE @Path nvarchar(200)SET @Path = 'C:\Inetpub\wwwroot\kaoq\txt\'IF RIGHT(@Path, 1) '\' SET @Path = @Path + '\'IF OBJECT_ID('tempdb..#') IS NOT NULL DROP TABLE #CREATE TABLE #( ...
阅读全文
摘要:SQL Server 数据库管理常用的SQL和T-SQL语句[备份贴] 1. 查看数据库的版本select @@version 2. 查看数据库所在机器操作系统参数exec master..xp_msver 3. 查看数据库启动的参数sp_configure4. 查看数据库启动时间select convert(varchar(30),login_time,120) from master..s...
阅读全文
摘要:/******* 导出到excelEXEC master..xp_cmdshell 'bcp SettleDB.dbo.shanghu out c:\temp1.xls -c -q -S"GNETDATA/GNETDATA" -U"sa" -P""' /*********** 导入ExcelSELECT * FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4...
阅读全文

浙公网安备 33010602011771号