我需要在C#程序中执行大量的SQL语句(创建一堆表,视图和存储过程).
这些语句需要用GO语句分隔,但SqlCommand.ExecuteNonQuery()不喜欢GO语句.我想我将发布以供参考的解决方案是将SQL字符串拆分为GO行,并分别执行每个批处理.
有更简单/更好的方法吗?
我有两个相同的表,需要将行从表复制到另一个表.最好的方法是什么?(我需要以编程方式只复制几行,我不需要使用批量复制实用程序).
我有一个表作为所有UPPER CASE导入,我想把它变成正确的案例.你们有什么脚本用来完成这个?
我需要确定SQL Server中给定日期的一个月中的天数.
有内置功能吗?如果没有,我应该使用什么作为用户定义的函数?
我Row_Number()在where子句中找到了一个用函数回答的问题.当我尝试一个查询时,我收到以下错误:
"消息4108,级别15,状态1,行1窗口函数只能出现在SELECT或ORDER BY子句中."
这是我试过的查询.如果有人知道如何解决这个问题,请告诉我.
SELECT employee_id
FROM V_EMPLOYEE
WHERE row_number() OVER ( ORDER BY employee_id ) > 0
ORDER BY Employee_ID
Run Code Online (Sandbox Code Playgroud) 在SQL Server中,@ table,#table和## table之间有什么区别?
什么是数据库约束的明确定义?为什么约束对数据库很重要?有哪些类型的约束?
我想知道在MS SQL Server 2005中是否有办法做到这一点:
DECLARE @theDate varchar(60)
SET @theDate = '''2010-01-01'' AND ''2010-08-31 23:59:59'''
SELECT AdministratorCode,
SUM(Total) as theTotal,
SUM(WOD.Quantity) as theQty,
AVG(Total) as avgTotal,
(SELECT SUM(tblWOD.Amount)
FROM tblWOD
JOIN tblWO on tblWOD.OrderID = tblWO.ID
WHERE tblWO.Approved = '1'
AND tblWO.AdministratorCode = tblWO.AdministratorCode
AND tblWO.OrderDate BETWEEN @theDate
)
... etc
Run Code Online (Sandbox Code Playgroud)
这可能吗?
我无法启动SQL Server browser的SQL Service Configuration Manager 2008版本.绝对没有选项来启动该服务.它已被禁用,如下图所示.我该如何重新启动服务?

在VB.net代码中,我使用SQL参数创建请求.我将DateTime参数设置为DateTime.Now值,我的请求会是什么样的?
UPDATE table SET date = "2010/12/20 10:25:00";
Run Code Online (Sandbox Code Playgroud)
要么
UPDATE table SET date = GETDATE();
Run Code Online (Sandbox Code Playgroud)
在第一种情况下,我确信每条记录都将设置为完全相同的时间.在第二种情况下,它取决于DBMS如何处理请求.这引出了我的第二个问题:SQL Server在使用NOW()更新大表时是否设置了相同的日期和时间?
编辑:由GETDATE()替换NOW()(在SQL Server中不存在).
sql-server ×10
sql ×6
t-sql ×2
64-bit ×1
c# ×1
constraints ×1
date ×1
datetime ×1
dynamic-sql ×1
rdbms ×1
title-case ×1
uppercase ×1
vb.net ×1