我已经给了一些想法来实现徽章(就像堆栈溢出这里的徽章),认为这将是困难的没有Windows服务,但我想避免,如果可能的话。 我提出了一个计划来实施一些例子: Audobiographer:检查configuration文件中的所有字段是否填写完毕。 评论人:发表评论时请检查评论数是否等于10,如果是这样的话,给予奖章。 答案:投票的时候检查一下表决得分是25还是更高。 这怎么能在数据库中实现? 或者,另一种方式会更好?
有谁知道如何通过运行脚本添加说明到SQL Server列? 我知道在使用SQL Server Management Studio创build列时可以添加说明。 我如何编写脚本,以便当我的SQL脚本创build列时,列的描述也被添加?
我们使用ASP.NET(Framework 2)并在web.config中设置数据库连接string(SQL2005)。 我们正在使用“ providerName=SqlServer ”。 我们所有的数据访问都是使用System.Data.SqlClient完成的 – 因此我们应该更改为providerName=System.Data.SqlClient ? 我在网上find了这个providerName的很多例子,但是很less解释providerName = SqlServer的实际含义。 有区别吗? 我担心,我们当前指定的providerName实际上是引用了一个遗留的(也许是较慢的)客户端,还是有比SqlClient更有效的客户端来使用ASP.NET?
我有一个SQL Server Profiler的跟踪设置来监视在数据库上执行的SQL。 我最近发现触发器执行不包含在跟踪中。 在查看可用的跟踪事件之后,我没有看到任何看起来像包含触发器执行的事情。 有谁知道如何设置跟踪来监视触发器的执行?
鉴于SQL Server 2005中的下列表格: ID Col1 Col2 Col3 — —- —- —- 1 3 34 76 2 32 976 24 3 7 235 3 4 245 1 792 什么是最好的方式来编写查询产生以下结果(即一个产生的最后一列 – 一个包含每个行 Col1,Col2和Col 3的最小值的列 )? ID Col1 Col2 Col3 TheMin — —- —- —- —— 1 3 34 76 3 2 32 976 24 24 3 7 […]
我在我的网站提供searchfunction,当用户search一个logging,然后我想显示的时间,以获得谷歌所做的相同的结果。 当我们search任何东西,然后谷歌显示需要多less时间才能获得结果? 为此,我在SP中声明了一个@startvariables,并在最后find差异,如下所示: DECLARE @start_time DATETIME SET @start_time = GETDATE() — my query SELECT * FROM @search_temp_table SELECT RTRIM(CAST(DATEDIFF(MS, @start_time, GETDATE()) AS CHAR(10))) AS 'TimeTaken' 有没有其他简单快捷的方法,或者是一个单行的查询,我们可以找出查询执行的时间? 我正在使用SQL Server 2005。
我知道索引search比索引扫描要好,但在SQL Server解释计划中更可取:Index seek或Key Lookup(SQL Server 2000中的书签)? 请告诉我他们没有再次更改SQL Server 2008的名称…
我正在使用asp .net mvc 3,当我尝试在表中插入数据时,我遇到包含2个主键的实体的问题。 public class LineItem { [Key] public int OrderId { get; set;} [Key] public int LineNum { get; set;} public string ItemId { get; set;} public int Quantity { get; set;} public decimal UnitPrice { get; set; } } 当我尝试插入我得到这个错误: 无法确定types“ApplicationMVC3.Models.LineItem”的组合主键sorting。 使用ColumnAttribute或HasKey方法指定组合主键的顺序。 请有人帮我吧!
我已经在SQL Server 2005中有一个函数: ALTER function [dbo].[fCalculateEstimateDate] (@vWorkOrderID numeric) Returns varchar(100) AS Begin <Function Body> End 我想修改这个函数来接受额外的可选参数@ToDate。 我打算在函数中添加逻辑,如果@Todate提供,然后做一些其他的事情继续与现有的代码。 我修改了这个function: ALTER function [dbo].[fCalculateEstimateDate] (@vWorkOrderID numeric,@ToDate DateTime=null) Returns varchar(100) AS Begin <Function Body> End 现在我可以调用函数为: SELECT dbo.fCalculateEstimateDate(647,GETDATE()) 但是在下面的调用中出现错误: SELECT dbo.fCalculateEstimateDate(647) 如 为程序或函数dbo.fCalculateEstimateDate提供的参数数量不足。 根据我的理解,这不应该发生。 我错过了什么? 提前致谢。
是否可以禁用一批命令的触发器,然后在批处理完成时启用它? 我确信我可以放弃触发器并重新添加它,但是我想知道是否有另一种方法。