上一页 1 ··· 77 78 79 80 81 82 83 84 85 ··· 94 下一页
摘要: 用户反映,系统操作日志会使用数据库快速增大,情况可参考下图,问题分析,整个系统每个页面,都有写记录用户操作代码,修改或禁用这个代码,看来是不可能的。在原有系统参数表添加一个选项,可以让管理员可选项,“是否启用操作日志”。这样子,就可以更改操作记录的存储过程,代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOALTERPROCEDURE[dbo].[usp_Op 阅读全文
posted @ 2010-12-29 10:12 Insus.NET 阅读(536) 评论(1) 推荐(2) 编辑
摘要: 自定义函数(User-Defined Function)有两种,一种是标量UDF(Scalar-valued Functions)和表值UDF(Table-valued Functions),前者只返回单个数据值,而后者则返回一个表。前面演示了标量自定义函数,http://www.cnblogs.com/insus/articles/1918983.html ,现在下面两个实例均演示表值自定义函数,代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-- 阅读全文
posted @ 2010-12-28 19:19 Insus.NET 阅读(1353) 评论(0) 推荐(2) 编辑
摘要: 自定义函数(User-Defined Function)有两种,一种是标量UDF(Scalar-valued Functions)和表值UDF(Table-valued Functions),前者只返回单个数据值,而后者则返回一个表。下面示例是,是属于前者,返回单个值。代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOCREATEFUNCTION[dbo].[ 阅读全文
posted @ 2010-12-28 19:09 Insus.NET 阅读(1649) 评论(0) 推荐(2) 编辑
摘要: 用户反映,PO号码出现大小写情况,希望不管用户输入大写还是小写,都需要显示大写。问题如下截图:解决问题,是不能强制用户一定输入大写,只好在存储过程处理了,把这个参数使用UPPER()处理一下。有关Upper更详细资料,参考:http://msdn.microsoft.com/zh-cn/library/ms180055.aspxCode highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->DECLARE@ponumNVARCHAR(20)='Po1 阅读全文
posted @ 2010-12-28 18:53 Insus.NET 阅读(1463) 评论(0) 推荐(2) 编辑
摘要: 为了演示触发器,下面例子分别实现插入,删除触发器。示例之前,先创建两个表,关关联起来。代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->--创建一个表[Topic]CREATETABLEdbo.Topic(TopicIdINTIDENTITY(1,1)PRIMARYKEYNOTNULL,TitleNVARCHAR(300)NOTNULL,ContentNVARCHAR(2000)NOTNULL,AuthorNVARCHAR(50)NOTNU 阅读全文
posted @ 2010-12-28 13:47 Insus.NET 阅读(728) 评论(1) 推荐(2) 编辑
摘要: 根据用户自定义需求报表。只有在SQL写好存储过程,然后把结果集显示在GridView中。报表做出来,用户接收了。有把这个效果分享给一些网友,结果网友都会问回一个问题,这个效果如何实现的。现在把一部分存储过程代码帖出来,分享一下,其实很简单。代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->--如果抽检数大于零和比率大于等于零IF((@RCount>0)AND(ISNULL(@Rate,0)>=0))BEGINBEGIN--定义一 阅读全文
posted @ 2010-12-28 10:32 Insus.NET 阅读(750) 评论(0) 推荐(2) 编辑
摘要: 在程序右上角,放置了一个"SignOut"的铵钮,有一点不好的地方,就是这个铵钮是被asp.net自动设为Default铵钮。当在页面按回车时,它会首先提交这个事件。结果在MSDN网站找到了一个属性Button.UseSubmitBehavior,详细可以查看,http://msdn.microsoft.com/zh-cn/library/system.web.ui.webcontrols.button.usesubmitbehavior(VS.80).aspx铵钮这个属性默认TRUE,现在在Page_Load中,设置为False,问题解决了。Code highlighti 阅读全文
posted @ 2010-12-28 09:05 Insus.NET 阅读(514) 评论(0) 推荐(2) 编辑
摘要: 前段时间,曾经写过一个例子,http://www.cnblogs.com/insus/articles/1916558.html是使用OUTPUT来记录更新前后的值,现在可以使用SQL Server的触发器来实现。演示,代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->--创建一个UPDATE触发器CREATETRIGGER[dbo].[tri_Member_Udate]ON[dbo].[Member]FORUPDATEASBEGIN--宣 阅读全文
posted @ 2010-12-27 19:18 Insus.NET 阅读(609) 评论(1) 推荐(2) 编辑
摘要: WHILE是SQL Server另一个基本流程控制元素,用于循环执行代码。WHILE后面的条件为TRUE时,循环执行指定的SQL语句或语句块,如果WHILE后的条件为FALSE或UNKNOWN时,循环终止。演示,更详细例子,请参阅http://www.cnblogs.com/insus/articles/1914346.html:代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->--宣告一个INT类型变量,并赋值DECLARE@FirstC 阅读全文
posted @ 2010-12-27 18:33 Insus.NET 阅读(373) 评论(1) 推荐(2) 编辑
摘要: IF...ELSE元素在SQL Server中,是用于控制代码程流(逻辑处理)。如果条件为TRUE,则执行指定的语句或语句块;如果条件为FALSE或UNKNOWN则执行指定的另外语句或语句块。ELSE部分是可选的。演示:代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->--判断存储过程是否存在IFOBJECT_ID('[dbo].[usp_Employee_Search]','u')ISNOTNULL--如果 阅读全文
posted @ 2010-12-27 18:08 Insus.NET 阅读(587) 评论(1) 推荐(2) 编辑
摘要: 不能在同一批处理中编译的语句,为了解决这个问题,需要在每个处理单元之间添加一个GO。如下:CREATE DEFAULT,CREATE RULE,CREATE FUNCTION,CREATE PROCEDURE,CREATE TRIGGER,CREATE SCHEMA,CREATE VIEW例子,可以参考:http://www.cnblogs.com/insus/articles/1917870.htmlIF语句之后添加一个GO命令,把IF与CREATE PROCEDURE分隔到两个不同的批处理执行。 阅读全文
posted @ 2010-12-27 17:38 Insus.NET 阅读(848) 评论(1) 推荐(2) 编辑
摘要: 当一个存储过程参数接收一个Array时,我们可以用下面方法来处理,可以很方便实现。代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->CREATEPROCEDURE[dbo].[usp_Prod_GetByType](@ArrayIDNVARCHAR(100))AS--处理传入参数DECLARE@ParamsNVARCHAR(100)=REPLACE(@ArrayID,',',''','' 阅读全文
posted @ 2010-12-27 15:35 Insus.NET 阅读(2271) 评论(1) 推荐(3) 编辑
摘要: SELECT INTO语句,创建一个目标表,把SELECT结果集插入至这个目标表中。这个目标表是在执行时产生,并非是在执行前产生,即是说不能向已经存的目标表插入数据。它会把来源表的基本结构进行复制。但不能复制约束,索引和触发器。演示,Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->--判断目标表是否存在,存在首先DROP掉IFOBJECT_ID('[dbo].[TT]','u')ISNOTNULLDROPTAB 阅读全文
posted @ 2010-12-27 14:19 Insus.NET 阅读(406) 评论(1) 推荐(2) 编辑
摘要: INSERT SELECT语句是可以把SELECT查询返回结果集插入目标数据表中。演示,首先创建一个临时表,Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->IFOBJECT_ID('#t')ISNOTNULLDROPTABLE#tCREATETABLE#t([MemberId][int]NOTNULL,[Name][nvarchar](100)NOTNULL,[Job][bit]NULL)使用INSERT SELECT语法,C 阅读全文
posted @ 2010-12-27 13:44 Insus.NET 阅读(1478) 评论(1) 推荐(2) 编辑
摘要: INSERT EXEC语句可以把存储过程或动态SQL批处理返结果集插入目标数据表中,下面例子是以存储过程返回结果集插入一个表变量中,演示例子,首选创建一个存储过程,这个存储过程需要传入一个参数,是否在职的Member。代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->IFOBJECT_ID('dbo.usp_Member_Job','p')ISNOTNULLDROPPROCEDUREdbo.usp_Membe 阅读全文
posted @ 2010-12-27 13:16 Insus.NET 阅读(1395) 评论(1) 推荐(2) 编辑
摘要: 把变量字段动态添加至数据表中,为了演示这个例子,首先创建一个临时表,这个临时表只产生一个IDENTITY字段,Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->BEGINIFOBJECT_ID('[dbo].[#DummyTable]')ISNOTNULLDROPTABLE[dbo].[#DummyTable]CREATETABLE[dbo].[#DummyTable]([ID]INTIDENTITYNOTNULL)END我们宣 阅读全文
posted @ 2010-12-27 10:56 Insus.NET 阅读(1370) 评论(1) 推荐(2) 编辑
摘要: 写存储过程,我们会经常需要动态创数据表,如临时表等。下面例子是使用Execute来创建一个数据表。Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->--宣告一个变量DECLARE@tableNameNVARCHAR(30)='DummyTableName'动态创建表,代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeH 阅读全文
posted @ 2010-12-27 10:26 Insus.NET 阅读(782) 评论(1) 推荐(2) 编辑
摘要: SQL Server,可以使用SCOPE_IDENTITY方法取得最后一笔记录的Identity号码,但是如果想取得批量插入的IDENTITY号码,那得想些这个SCOPE_IDENTITY就有些困难了,只有把inserted虚拟表导入到一个真实存在的表,临时表或是表变量中,方可解决问题。下面代码,是return最后一笔的IDENTITY号码,Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->INSERTINTOdbo.MemberVALUES( 阅读全文
posted @ 2010-12-25 14:21 Insus.NET 阅读(1609) 评论(0) 推荐(1) 编辑
摘要: SQL Server 2008可以创自己的表类型,方便应用到重复使用的地方,这样就不必重复定义表代码。下面是定义表类型的例子,Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->IFTYPE_ID('dbo.MyReport')ISNOTNULLDROPTYPEdbo.MyReportCREATETYPEdbo.MyReportASTABLE([Id][int],[OldValue][decimal](18,6),[NewValu 阅读全文
posted @ 2010-12-25 11:22 Insus.NET 阅读(1943) 评论(1) 推荐(2) 编辑
摘要: 参考前一个实例使用OUTPUT保存更新记录前后数据,改用一个表变量来实现。首先定义一个表变量:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->DECLARE@SalaryReportTABLE([MemberId][int],[Name][nvarchar](100),[OldSalary][decimal](18,6),[NewSalary][decimal](18,6))然后把更新OUTPUT结果INTO到这个表变量中:Code high 阅读全文
posted @ 2010-12-25 10:38 Insus.NET 阅读(1095) 评论(1) 推荐(2) 编辑
上一页 1 ··· 77 78 79 80 81 82 83 84 85 ··· 94 下一页