随笔分类 -  Temporary Tables

摘要:这段时间有涉及至MS SQL的编程,动态的SQL语句。原始数据表中,很多数据,需要把有数据的记录进行统计,并需要进行列显示,也就是是行列转换。有数据才显示,也就是说最终的列是动态变化的。有数据才显示。把所有有数据的放在一张临时表中,只需要将转换列名的数据即可。然后根据这个临时表,来处理动态SQL的语... 阅读全文
posted @ 2015-11-23 16:13 Insus.NET 阅读(839) 评论(0) 推荐(1)
摘要:比如在博客园中,它有一个搜索功能,就是“找找看”,你尝试输入一些信息,它能很快搜索到相关的信息。但它似乎只能输入2个关键词,以空格分开。如果我们的网站也需要一个搜索功能,只提供一个文本框和一个键铵钮。实现这样的搜索功能,也许搜索的信息分布有多个表中,或是某一表中其中一二个字段。下面Insus.NET... 阅读全文
posted @ 2015-10-16 11:55 Insus.NET 阅读(2052) 评论(1) 推荐(1)
摘要:Insus.NET在应用开发时,用过很多不同的方法来为ASP.NET实现搜索功能。写SQL语句在程序里,或写成类别能让多个程序能共用,也有直接把条件表达式传至数据库中进行处理的。《Insus Search Utility Ver2》http://www.cnblogs.com/insus/p/322... 阅读全文
posted @ 2015-10-15 15:48 Insus.NET 阅读(1906) 评论(0) 推荐(1)
摘要:近段时间数据库开发中有遇上一个批量数据插入并触发一个触发器的问题。程序刚开始时,一笔一笔插入是很正常的,后来改了程序,批量数据插入,此时触发器只触发第一笔记录,其余的记录均没有触发到触发器。先来看看问题,在一个表中,如果有记录插入,将会触发发送邮件的功能。为了能批量插入数据,Insus.NET创建一... 阅读全文
posted @ 2015-10-10 14:41 Insus.NET 阅读(1609) 评论(1) 推荐(2)
摘要:在MS SQL Server中,想获取表的所有列名,可以使用下面SQL语句:SELECT [COLUMN_NAME] FROM [INFORMATION_SCHEMA].[Columns] WHERE [TABLE_NAME] = '表名'上面的SQL语句,是无法获取临时表Teamporary ta... 阅读全文
posted @ 2015-09-24 15:47 Insus.NET 阅读(868) 评论(0) 推荐(1)
摘要:昨天的SQL编程中,有使用到一个方法,就是把一个表某一字段更新至另一个表的字段中去。实现这个方法,Insus.NET有尝试了几个方法,下面一一分享出来,让大家参考参考。下面的数据只是模拟了,形式与Insus.NET实际数据相似。使用临时表,你真实表一样。表一:代码:CREATE TABLE #Tab... 阅读全文
posted @ 2015-07-25 09:30 Insus.NET 阅读(1157) 评论(5) 推荐(1)
摘要:专案需要,需要在数据库中提供一个些数据,可让用户读取,但不能修改。或许你需要创建一个表,手动添加这些静态数据,这样的话,用户有可能直接打开数据库修改。也许你会创建一个table-valued 函数并加密。解决方案很多,下面Insus.NET使用Clr存储过程来实现,把数据直接设置于CLR程序中。当部... 阅读全文
posted @ 2015-04-02 10:33 Insus.NET 阅读(1163) 评论(0) 推荐(2)
摘要:这段时间学习SQL Server CLR编程,但是SQL CLR编程,里面所使用的数据类型为CLE TYPE,它多少与 Db TYPE有些区别,在网上找到一个列表http://geekswithblogs.net/manjunath.k/archive/2013/09/11/sqldbtype-to... 阅读全文
posted @ 2015-03-30 13:25 Insus.NET 阅读(496) 评论(0) 推荐(1)
摘要:在Insus.NET的blog里,可以找到相关的行列转换文章。可以点击下面链接 http://www.cnblogs.com/insus/archive/2011/03/05/1971446.html慢慢看来。不过,今天Insus.NET再详细演示一番,望让网友们更加理解与应用。还是先来看看实时演示吧:想实现行与列转换,得先一弄清楚哪些原数据被转为列名,哪些原数列名被转换为行数据。就依上图来说。原列名[Fruit Name]没有被转换,还是作为新表的列名,而原[Kind Name]和[ID]列名被转换为新[Fruit Name]列的行数据了,而原[Fuit Name]所在行的数据将转换为列名。 阅读全文
posted @ 2013-09-04 15:07 Insus.NET 阅读(1560) 评论(8) 推荐(1)
摘要:Insus.NET分享一个案例网站程序。程序中95%的功能添加与设置在后台管理平台进行,剩余的5%就是前台网页的自定义设计。程序是使用.NET Framework 4.0 + ASP.NET + MS SQL Server 2008 R2 + VB.NET进行开发。功能与特色:文章编辑器使用:CuteEditor。如果你在运行时,出现license的问题时,如下图:可以从官网上下载,然后覆盖BIN目录下的cuteeditor.lic即可。网站中的页首或是页中的广告,你可以上传Flash,也可以上传图片。因为Insus.NET有开发为两者均可呈现。后台管理平台,诸多功能均可以添加,编辑,删除,然 阅读全文
posted @ 2013-08-30 16:45 Insus.NET 阅读(8891) 评论(3) 推荐(4)
摘要:搜索介面如下:程序中需要实现如上的一个搜索功能。[Option]有两个选项,说明结果需要一个Detail或Summary。这是二选一,而且必选一个。[By]选择是让用户填入用户信息,或是选择部门。 当用户选择用户选择,在下出现文本框,让用户填入用户名;当用户选择部门时,在下出现下拉列表,让用户选择部门。[DateTime]选择,也有两种情况选择,一个是选择年月份的,默认是当前年份,用户选择年份之后,选择月份; 另一个选择日期,当选择日期选项,在下出现两个文本框,可输入开始与结束日期的,也可以选择。分析,总共6个选择,2种结果,4个条件(用户,部门,日期或月份),因此将有8个参数,这个8个参数为 阅读全文
posted @ 2013-04-06 11:00 Insus.NET 阅读(2515) 评论(2) 推荐(3)
摘要:开发过程中,Insus.NET经常性遇上一对多的数据关系,并需要存入数据中。就以下图为例,一个拉号可以对应多台机器。下图有三个铵钮,分别为[分配机器], [取消分配]和[查看分配]。想存储这些分配数据,需要在数据库创建一个表存储。LaHaoJiQi SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGO--=============================================--Author:Insus.NET--Createdate:2012-09-13--Description:存储拉号与机器分配记录--=================== 阅读全文
posted @ 2012-09-13 15:13 Insus.NET 阅读(1017) 评论(0) 推荐(1)
摘要:一位网友在Insus.NET下班时问及一个SQL问题,他有如下一些记录:S_NUMBER P_NO UPDATE_TIMEY1202022524 E3465 2012-02-05 16:32:16.000Y1202022524 E0035 2012-01-16 05:38:41.000Y1202022525 E0036 2012-01-17 05:38:41.000Y1202022526 E0037 2012-01-18 05:38:41.000Y1202022527 E0038 2012-01-19 05:38:41.000Y1202022528 E0039 2012-01-20 05:38 阅读全文
posted @ 2012-03-17 00:32 Insus.NET 阅读(694) 评论(3) 推荐(2)
摘要:计算一串数字中每个数字出现的次数,可以这样子,先判断输入的字符串是不是数字组成,还是否包含有其它字符。接下来拆分这一串字符串,每个字符插入一个表变量中,最后使用GROUP BY进行分组。CalNumOfChtInStr SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGO--=============================================--Author:Insus.NET--Createdate:2012-02-23--Description:Calculatethenumberofcharactersinthestring--==== 阅读全文
posted @ 2012-02-23 12:18 Insus.NET 阅读(1509) 评论(0) 推荐(2)
摘要:一个旧有系统需要从另一个新系统获取数据。由于两个系统数据库的的排序规规则不同。在存储过程中SELECT数据时,引发了“无法解决 equal to 操作中 "SQL_Latin1_General_CP1_CI_AS" 和 "Chinese_PRC_CI_AS" 之间的排序规则冲突。”错误。参考截图两个数据的排序规则:Insus.NET没有尝试去更新数据库的collation排序规则,担心会对其它数据的影响。但是问题出现了,还是需要想办法去解决的。在有问题的存过程中,写一个与目标表结构相同的临时表,在设计临时表,在出现问题的字段加上与数据源表的排序规则。如: 阅读全文
posted @ 2012-01-20 13:30 Insus.NET 阅读(1376) 评论(0) 推荐(1)
摘要:近段时间,MS SQL方面,一直需要开发动态方面的存储过程或是触发器以及表函数。因为程序设计一开始就是让用户动态添或是删除一个表的字段,然而这个表的相关存储过程或是触发器以及为报表准备的表函数也会随之这个表的字段变化而变化。刚开始时,这个表的字段很少(10个以内),前开发者把这个表的所有存储过程与触发器以及表函数全是写死了。用户每添加一些字段,都需要手动去更改这些存储过程与触发器以及表函数。现在这个表的字段已经高达300个以上,有可能还会增长,因此Insus.NET的业务就是把这此静态全改写为动态处理。然而有一个问题一直困拢至昨天,昨天是星期天本应是休息的,但是这个问题没有解决,因此这天算不上 阅读全文
posted @ 2012-01-16 15:28 Insus.NET 阅读(702) 评论(0) 推荐(1)
摘要:开发业务需求,需要对一个表作数据分析,由于数据量较大,而且分析时字段会随条件相应变化而变化。因此计划先把数据转插入一个临时表,再对临时表的数据进行分析。问题点是如何动态创建临时表。原先Insus.NET使用下面代码实现:View Code 1DECLARE@sNVARCHAR(MAX)='2IFOBJECT_ID(''[dbo].[#Tb]'')ISNOTNULL3DROPTABLE[dbo].[#Tb]4CREATETABLE[dbo].[#Tb]5(6[xxx]INT,7[xxx]NVARCHAR(50),8'+[dbo].[Column]( 阅读全文
posted @ 2012-01-14 14:41 Insus.NET 阅读(1629) 评论(1) 推荐(2)
摘要:有在论坛上看到一帖,《请教查询出连续日期记录的方法》,截图如下:Insus.NET尝试写了程序并做了测试,可以得到预期的结果,SQL代码可参考和学习之用。View Code --创建一个临时表,将会存储连续日期的记录CREATETABLE#temp(IDDVARCHAR(10),SDATEDATETIME)DECLARE@sDDATETIME--开始日期DECLARE@eDDATETIME--结束日期--在记录中,找出开始与结束日期SELECT@sD=MIN([SDATE]),@eD=MAX([SDATE])FROM[TT]DECLARE@NINT=0--宣告一个变量,存储累记录数--循环日期 阅读全文
posted @ 2011-09-10 15:34 Insus.NET 阅读(1030) 评论(1) 推荐(1)
摘要:今天查看以前专案的数据库自定义函数,温习温习。发现其中有一个函数,是获取月份的天数的自定义函数。如下:udf_DaysInMonthCREATEFUNCTION[dbo].[udf_DaysInMonth](@DateDATETIME)RETURNSINTASBEGINDECLARE@dimASTABLE(MINT,DyINT)INSERTINTO@dimVALUES(1,31),(3,31),(5,31),(7,31),(8,31),(10,31),(12,31),(4,30),(6,30),(9,30),(11,30),(2,CASEWHEN(YEAR(@Date)%4=0ANDYEAR( 阅读全文
posted @ 2011-09-10 10:27 Insus.NET 阅读(1114) 评论(0) 推荐(1)
摘要:实现一个AuditLog的功能,是B/S结构专案。每个用户可以登录系统,在程序中操作数据(添加,更新和删除)需要实现记录操作跟踪。是谁添加,更新和删除的,这些信息将会插入至AuditLog表中。一般情况之下,在SQL的触发器中,只能取到(SQL验证sa;Windows验证Domain\xxx)。这些用户名,达不到效果,不能真正反映到是谁操作的。下面是让你清楚,怎样实现在SQL触发器或存储过程中获取在程序登录的用户,是在插入,更新或删除的存储过程,把登录程序当前用户传入进去。在存储过程中,再把相关信息存入局部(#)临时表中,这样子,在触发器即可获取了。下面代码示例,以一个[Member]表作例, 阅读全文
posted @ 2011-07-21 13:51 Insus.NET 阅读(2454) 评论(2) 推荐(1)