-
sql中参数过多利用变量替换参数的方法
工作中遇到一个需求,需要非常多的参数,例如如下sql,复制代码代码如下:selectff.fundsc||'-'||ff.fundtzfs||'-'||ff.fundcjfl||'-'||ff.fundonefl||'-'||ff.fundtowflcatagory,sf.scode,replace(sf.fund5,'型证券投资基金','')fund5,sf.fund4,sf.fund10,(selectto_date(tradedate,'yyyy-MM-dd')fromsdc_fundnetassetvaluewherescode=sf.scodeandtradedatein(selectmax(tradedate)fromsdc_fundnetassetvaluewherescode=sf.scodeandto_date(tradedate,'yyyyMMdd')>=(to_date(20120801,'yyyyMMdd')-10)andtradedate<=20120801)andrownum<2)trdatedate,(selectunitvaluefro...
数据库操作教程 2022-09-23 16:46:11 -
sqlserver游标使用步骤示例(创建游标关闭游标)
游标(cursor)是一个存储在DBMS服务器上的数据库查询,它不是一条SELECT语句,而是被该语句检索出来的结果集。在存储了游标之后,应用程序可以根据需要滚动或浏览其中的数据...
数据库操作教程 2022-09-23 16:46:05 -
查找sqlserver查询死锁源头的方法sqlserver死锁监控
查找出SQLServer的死锁和阻塞的源头--查找出SQLServer死锁和阻塞的源头复制代码代码如下:usemastergodeclare@spidint,@blintDECLAREs_curCURSORFORselect 0,blockedfrom(select*fromsysprocesseswhere blocked>0)awherenotexists(select*from(select*fromsysprocesseswhere blocked>0)bwherea.blocked=spid)unionselectspid,blockedfromsysprocesseswhere blocked>0OPENs_curFETCHNEXTFROMs_curINTO@spid,@blWHILE@@FETCH_STATUS=0beginif@spid=0select'引起数据库死锁的是:'+CAST(@blASVARCHAR(10))+'进程号,其执行的SQL语法如下'elseselect'进程号SPID:'+CAST(@sp...
数据库操作教程 2022-09-23 16:46:04 -
sqlserver数据库获取数据库信息
MSSQLSERVER获取当前数据库文件等信息,适用于多个版本:复制代码代码如下:SELECTdbf.file_idASFileID ,dbf...
数据库操作教程 2022-09-23 16:46:00 -
c#连接数据库及sql2005远程连接的方法
一:C#连接SQL数据库复制代码代码如下:DataSource=myServerAddress;InitialCatalog=myDataBase;UserId=myUsername;Password=myPassword;DataSource=190.190.200.100,1433;NetworkLibrary=DBMSSOCN;InitialCatalog=myDataBase;UserID=myUsername;Password=myPassword;Server=myServerAddress;Database=myDataBase;UserID=myUsername;Password=myPassword;Trusted_Connection=False;Server=myServerAddress;Database=myDataBase;Trusted_Connection=True;Server=myServerName/theInstanceName;Database=myDataBase;Trusted_Connection=True;DataSource=mySe...
数据库操作教程 2022-09-23 16:45:58 -
一条SQL语句修改多表多字段的信息的具体实现
之前修改两张及以上表的时候,总得需要用几次语句才修改,万一其中一条没修改上,又没事务机制的话,处理很麻烦,于是想到能不能一条语句完成呢?结果是成功的~~多表多字段的时候,得用到表关联的方式修改信息:复制代码代码如下:UPDATE`user`join`binding`on`user`.`uid`=`binding`.`uid`SET`user`.`renren`="",`binding`.`renren_token`="",`binding`.`rt_time`=""WHERE`user`.`uid`='.$in['uid'];语法类似上面所表示的。还有没有更好的解决方法,还有待莫离进一步研究...
数据库操作教程 2022-09-23 16:45:54 -
使用正则表达式匹配tsql注释语句
让我们来看一些例子:复制代码代码如下:--获取表的count信息selectcount(*)fromTwith(nolock)--获取特定值的count信息selectcount(*)fromTwith(nolock)wherev='--value'--获取表'T'的count信息selectcount(*)fromTwith(nolock)SELECT*fromT--获取表TWhereP我们先来试着给出一个简单的匹配:复制代码代码如下:--[^rn]*$你会发现,它连第二条的SQL也匹配到了,这是不对的。看起来,我们应该排除"'"里面的,我们再来改改:复制代码代码如下:--[^'rn]{0,}$还是不对,这下虽然第二条的SQL没有匹配,但连第三条的都不匹配了,看起来还是不对...
数据库操作教程 2022-09-23 16:45:53 -
使用sqlserver存储过程sp_send_dbmail发送邮件配置方法(图文)
1)创建配置文件和帐户(创建一个配置文件和配置数据库邮件向导,用以访问配置数据库邮件管理节点中的数据库邮件节点及其上下文菜单中使用的帐户。) 打开数据库服务器------管理-------数据库邮件------右键---配置数据库邮件(同时也可以看到管理已经配置好的邮件账户和配置文件) 这里的配置文件名,在使用sp_send_dbmail时会作为参数使用点“添加” 其中,账户名可以任意指定(描述功能即可),重点是邮件发送服务器(SMTP)的配置:电子邮件地址为发送方邮件地址,显示名称为发送方名称,答复电子邮件(可以同电子邮件地址相同),服务器名称为服务器发送服务器(eg:QQ的为smtp.exmail.qq.com)端口号不变;SMTP身份验证:基本身份验证(配置自己的邮件发送方地址和密码)...
数据库操作教程 2022-09-23 16:45:51 -
SqlServer2000、2005分页存储过程整理第1/3页
sqlserver2005的分页存储过程分3个版本,一个是没有优化过的,一个是优化过的,最后一个支持join的,sqlserver2000的分页存储过程,也可以运行在sqlserver2005上,但是性能没有sqlserver2005的版本好。在最后我还附带了一个二分法的分页存储过程,也很好用的说哈~~1.SqlServer2005:SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOCREATEproc[dbo].[up_Page2005]@TableNamevarchar(50),--表名@Fieldsvarchar(5000)='*',--字段名(全部字段为*)@OrderFieldvarchar(5000),--排序字段(必须!支持多字段)@sqlWherevarchar(5000)=Null,--条件语句(不用加where)@pageSizeint,--每页多少条记录@pageIndexint=1,--指定当前为第几页@TotalPageintoutput--返回总页数asbeginBeginTran--开始事务Declare@sqlnvarch...
数据库操作教程 2022-09-23 16:45:48 -
必须会的SQL语句(六)数据查询
1.基础的查询 1)重命名列 selectnameas'姓名'from表名 2)定义常量列 select是否='是'from表名 3)top用法percent --这种写法可以获取前20%条字段。 selecttop20percent*from表名 4)去除重复列 selectdistinct列名from表名 5)聚合函数 max avg count min &nbs...
数据库操作教程 2022-09-23 16:45:47 -
SQLServer中统计每个表行数的快速方法
我们都知道用聚合函数count()可以统计表的行数。如果需要统计数据库每个表各自的行数(DBA可能有这种需求),用count()函数就必须为每个表生成一个动态SQL语句并执行,才能得到结果...
数据库操作教程 2022-09-23 16:45:44