SqlServer
dannywj1371
.NET民工
展开
-
身份验证模式变更
<br />把SQL2008单一的Windows身份验证改为混合模式身份验证。在此做一备忘。<br /><br />步骤:<br /><br />1、用Windows身份验证方式进入SQL2008,在“对象资源管理器”右击根目录,弹出服务器属性。在“选择页”->“安全性”->勾选Sql Server和Windows身份验证模式->确定。<br /><br />到这里就可以断开连接退出并使用“SQL Server身份验证”模式登录了。<br /><br /><br />重新启动服务!原创 2011-04-19 11:15:00 · 722 阅读 · 0 评论 -
关于对CDR处理的一点感悟(存储过程)
关于批量自动处理程序1. 自动处理程序要假设每一个操作步骤(或者模块)都可能会出错的情况下,提供自动处理的解决方案。同时记录好每次处理的行数,便于下次自动从该行继续执行。2.处理前保存好未分析的原始信息,数据。关于写复杂的存储过程应注意1.在子存储过程中不去处理异常,让异常抛出,由主存储过程进行捕获,并统一处理。(该子存储过程主要为主存储过程服务,不可单独运行的那种)。原创 2012-12-10 22:17:56 · 817 阅读 · 0 评论 -
SQL 随机取数据
select top 100 *, NewID() as random from heart order by random另一种更简单的写法:SELECT * FROM dbo.mb_access_number WHERE nation_code='CA' AND client_type='iphone' AND city='Winnipeg'ORDER BY NEWID()原创 2012-07-19 15:49:58 · 477 阅读 · 0 评论 -
关于重构SQL PROC的感触
重新写了一个存储过程,从之前的700行缩短为200行。。。。1.对于首先能结束存储过程的分支,要把判断写在前面,有goto或者return的语句就不需要写else了。2.一次设置多个参数的值,不需要重复写set,直接select并以逗号相隔就可以。3.判断之前的select是否有值,用@@ROWCOUNT = 0来判断,不用变量是否为空判断(@business_acctid)如原创 2013-02-07 17:42:19 · 810 阅读 · 0 评论 -
休闲小憩 康小孩的PROC问题
作为职业的SQL选手,今天康小孩竟然问了我一个这样的问题:如何通过一个存储过程实现查询多个表的union,表的个数不确定。即要这么个东西:EXEC TestKR 'tableA,TableB,TableC' 拿到这个问题,简单想了想,思路是将多个表名以参数形式传到proc里(多个表名以逗号分隔),然后拼接sql查询语句,执行,返回结果。找了个用sql实现split的小方原创 2013-06-09 16:02:01 · 713 阅读 · 0 评论 -
sql 分页查询
今天终于手写了个分页查询的sql绕过来了。1.使用row_number()的 (SQL 2005+) SELECT * FROM (SELECT ROW_NUMBER() OVER (ORDER BY dbo.user_info.id ASC) AS rowid,* FROM dbo.user_info) AS t WHERE t.rowid BET原创 2013-06-05 17:31:13 · 570 阅读 · 0 评论 -
SQL 创建存储过程 语法
ALTER PROCEDURE GetData@pagesize INT,--10@pagenum INT--2ASSELECT * FROM (SELECT ROW_NUMBER() OVER (ORDER BY dbo.user_info.id)AS rowid,* FROM dbo.user_info)AS tWHERE t.rowid BETWEEN @pagenum*@pa原创 2013-06-05 18:05:50 · 803 阅读 · 0 评论 -
函数,自定义函数,存储过程比较
1.Sqlserver 系统常用函数SELECT SUBSTRING('iTalkbb',2,4)--从第二个字符起,长度为4SELECT LOWER('AAbbCC')SELECT UPPER('aaaa')SELECT RTRIM(LTRIM(STR(123)))+RTRIM(LTRIM(STR(456)))SELECT CHARINDEX('a','italk')--查找子串位置原创 2013-06-07 16:00:02 · 750 阅读 · 0 评论 -
sql语句修改表结构
这次的教材里面介绍了如何用sql语句创建一个数据库和相应的表结构,也说明了表结构的细节设计如约束等,但是没有说明如果创建了一个表结构后修改这个结构,是重新创建还是可以直接修改,学员经常会提出这些问题,下面对使用sql语句修改表结构做一个说明。修改表结构包括:增加字段、删除字段、增加约束、删除约束、修改缺省值、修改字段数据类型、重命名字段、重命名表。所有这些操作都是用 alter table 命转载 2013-08-07 17:33:00 · 2333 阅读 · 0 评论 -
日期比较问题
今天在做一个定时发送提醒邮件的功能,用到了日期的比较。即判断当前时间是否等于数据库里设定好了的那个日期,我发现了两种比较的方法:1.用C#将时间转换为固定格式:string sql = string.Format("SELECT sendStatus FROM litb_approval_mail_tips WHERE sendDate='{0}'", DateTime.Now原创 2013-10-08 17:55:18 · 833 阅读 · 0 评论 -
Aqua跨库数据导入
使用aqua的tools向导可以导入数据到新的库,导出的脚本包括建表语句和insert语句。原创 2012-10-24 11:23:46 · 1231 阅读 · 0 评论 -
SQL 三表连接查询
select * from account_base ab join master_account ma on ab.m_id=ma.m_id join mb_phone_subscribe mb on ab.acct_id=mb.acct_id原创 2012-10-15 10:22:29 · 1463 阅读 · 0 评论 -
SQL游标简单了解——虚拟DID计费程序实例问题
简单了解资料:参考网址:http://www.cnblogs.com/yangyang8848/archive/2009/07/02/1514593.htmlSQLServer 游标简介与使用说明 游标(Cursor)是处理数据的一种方法原创 2011-08-17 15:54:26 · 722 阅读 · 0 评论 -
sql查询语句优化
http://www.cnblogs.com/dubing/archive/2011/12/09/2278090.html最近公司来一个非常虎的dba 10几年的经验 这里就称之为蔡老师吧 在征得我们蔡老同意的前提下 我们来分享一下蔡老给我们带来的宝贵财富 欢迎其他的dba来拍砖 目录1、什么是执行计划?执行计划是依赖于什么信息。2、 统一SQL语句的写法减转载 2011-12-09 18:09:48 · 1232 阅读 · 0 评论 -
sqlserver 左连接的写法
select a.req_id,a.port_in_did,a.acctid,a.status,a.country,a.port_in_provider,b.calling_plan_name,c.filetype,a.first_name,a.last_name,a.street_number,a.street_number_suffix,a.pre_directional,a.street原创 2012-02-29 11:26:13 · 5956 阅读 · 0 评论 -
让数据库变快的10个建议
让数据库变快的10个建议发布时间:2012-03-22 03:50 来源:伯乐在线 分类: IT技术, 程序员 都等你发言 :)大多数网站的内容都存在数据库里,用户通过请求来访问内容。数据库非常的快,有许多技巧能让你优化数据库的速度,使你不浪费服务器的资源。在这篇文章中,我收录了十个优化数据库速度的技巧。 0. 小心设计数据库第一个技巧转载 2012-03-24 10:49:13 · 1333 阅读 · 0 评论 -
char、varchar、nchar、nvarchar的区别
对于程序中的string型字段,SQLServer中有char、varchar、nchar、nvarchar四种类型来对应(暂时不考虑text和ntext),开建立数据库中,对这四种类型往往比较模糊,这里做一下对比。定长或变长所谓定长就是长度固定的,当输入的数据长度没有达到指定的长度时将自动以英文空格在其后面填充,使长度达到相应的长度;有var前缀的,表示是实际存储空间是变长的,比转载 2012-07-18 10:53:31 · 617 阅读 · 0 评论 -
存储过程的注意事项
存储过程返回值仅有code,message等简单信息时,使用输出参数表示比较好,也可以return参数。存储过程返回数据集合最后用select比较好。调试尽量使用print,生成消息(消息标签页)goto和return语句效果类似。 SqlParameter[] param = {原创 2012-08-22 16:33:23 · 786 阅读 · 0 评论 -
存储过程 是否返回行数信息
当 SET NOCOUNT 为 ON 时,不返回计数(表示受Transact-SQL 语句影响的行数)。 当 SET NOCOUNT 为 OFF 时,返回计数(默认为OFF)。 即使当 SET NOCOUNT 为 ON 时,也更新 @@ROWCOUNT 函数。当 SET NOCOUNT 为 ON 时,将不给客户端发送存储过程中的每个语句的 DONE_IN_PROC 信息。当使用 Mic转载 2012-08-27 14:50:15 · 2394 阅读 · 0 评论 -
SQL 游标使用实例
--SQL 游标使用实例DECLARE @acct_id INT;DECLARE cur_fixUser CURSOR FOR--定义游标 SELECT TOP 100 acct_id--定义游标要处理的数据集 FROM account_base WHERE m_id IN (SELECT m_id FROM master_原创 2012-09-07 16:27:37 · 588 阅读 · 0 评论 -
UNION 联合查询时 子查询中包含order by的处理
select * from ( SELECT top 10 * FROM [article_info] where typeid=1 order by addDate desc ) as t1UNIONselect * from ( SELECT top 10 * FROM [article_info] where typeid=2 order by addDate desc ) as t原创 2012-10-12 00:06:59 · 1739 阅读 · 0 评论 -
SqlServer发送邮件,定时作业
今天偶然研究了一下sqlserver发送邮件的功能,之前听说过可以发,但是一直没尝试过,只是用C#写后台程序的方式来发邮件。现在又多了一种发送邮件的途径。大致的步骤如下:1.配置sqlserver邮件发送的smtp服务器。2.发送测试邮件验证配置的正确性。3.新建作业,编写sql脚本4.配置作业,完成。完整的教程参考自:http://zhangkui.blo原创 2013-10-17 18:13:29 · 11834 阅读 · 0 评论