随笔分类 -  SQLSERVER

Sqlserver存储过程—----传递数组、使用循环
摘要:背景:前一段时间做过一个公司内部的员工项目管理系统,其间有个sqlserver存储过程是要从excel文件中读取员工的项目信息,并从db中找出相关的的其他信息插入到一张员工表中。这里涉及两个难点:怎么向存储过程传递多条记录?在存储过程中怎么对这些记录一条条循环处理。解决方案:1.怎么将excel中数据传入到存储过程中?存储过程是没有办法接受数组参数的,我的做法是先把excel中的信息导入到一张全局的临时表中,在把临时表的表名传递给存储过程,在存储过程中使用临时表内容。2.怎么在存储过程中做循环处理?在存储过程中新建一张临时表,将传递过来的全局临时表的信息保存在该表中,并且在表中添加一个id列, 阅读全文

posted @ 2013-03-24 13:17 全袁君 阅读(1401) 评论(0) 推荐(0)

SQL Server带列名导出到Excel(Export to CSV with headers)的几个思路
摘要:前几天在项目中遇到一个问题,需要从SQL Server导出表到Excel,但需要带列名。晚上尝试了几种方法,并作个小结。假定表如下:USE testDb2GOIF NOT OBJECT_ID('Demo_A') IS NULLDROP TABLE [Demo_A]/****** Object: Table [dbo].[Demo_A] downmoon:3w@live.cn ******/CREATE TABLE [dbo].[Demo_A]([ID] int not null,[Name] [Nvarchar](20) NOT NULL)GOINSERT [dbo].[Dem 阅读全文

posted @ 2013-03-19 14:40 全袁君 阅读(456) 评论(0) 推荐(0)

SQLSERVER WITH CUBE
摘要:闲来写下with cube的用法cube运算符在 SELECT 语句的 GROUP BY 子句中指定。该语句的选择列表应包含维度列和聚合函数表达式。GROUP BY 应指定维度列和关键字 WITH CUBE。结果集将包含维度列中各值的所有可能组合,以及与这些维度值组合相匹配的基础行中的聚合值。先看下表:我们以id聚合查询出平均分这一条SQL语句与上面唯一不同之处即为多了后面的 with cube,而结果却是比前面更多了一条结果,它同样是按类ID的平均分,不同是又多了最后一个结果null 4,这个是什么呢,我们来看第一段,with cube 是 包含所有可能的组合,我们根据ID分,它帮我们按ID 阅读全文

posted @ 2013-02-21 14:08 全袁君 阅读(341) 评论(0) 推荐(0)

SQL养成一个好习惯是一笔财富
摘要:我们做软件开发的,大部分人都离不开跟数据库打交道,特别是erp开发的,跟数据库打交道更是频繁,存储过程动不动就是上千行,如果数据量大,人员流动大,那么我么还能保证下一段时间系统还能流畅的运行吗?我么还能保证下一个人能看懂我么的存储过程吗?那么我结合公司平时的培训和平时个人工作经验和大家分享一下,希望对大家有帮助。 要知道SQL语句,我想我们有必要知道SQL Server查询分析器怎么执行我们的SQL语句的,我们很多人会看执行计划,或者用Profiler来监视和调优查询语句或者存储过程慢的原因,但是如果我们知道查询分析器的执行逻辑顺序,下手的时候就胸有成竹,那么下手是不是有把握点呢? 一、查.. 阅读全文

posted @ 2013-02-20 19:43 全袁君 阅读(142) 评论(0) 推荐(0)

导航