Questions tagged «sql-server»

Microsoft SQL Server是一个关系数据库管理系统(RDBMS)。将此标签用于所有SQL Server版本,包括Compact,Express,Azure,Fast-track,APS(以前称为PDW)和Azure SQL DW。请勿将此标签用于其他类型的DBMS(MySQL,PostgreSQL,Oracle等)。除非该标签与数据库直接相关,否则请勿将其用于软件和移动开发问题。

13
将SQL数据从一个表移动到另一个表
我想知道是否有可能将所有数据行从一个表移动到另一个表,以匹配某个查询? 例如,我需要将所有表行从表1移动到表2,其中用户名=“ X”,密码=“ X”,以便它们不再出现在表1中。 我正在使用SQL Server 2008 Management Studio。
76 sql  sql-server 

5
参数化查询…期望参数“ @units”(未提供)
我收到此异常: 参数化查询'(@Name nvarchar(8),@ type nvarchar(8),@ units nvarchar(4000),@ rang'期望使用未提供的参数'@units'。 我的插入代码是: public int insertType(string name, string type, string units = "N\\A", string range = "N\\A", string scale = "N\\A", string description = "N\\A", Guid guid = new Guid()) { using (SqlConnection connection = new SqlConnection(connectionString)) { connection.Open(); SqlCommand command = new SqlCommand(); …

24
使用浮点数还是小数作为会计应用程序的美元金额?
我们正在VB.NET和SQL Server中重写旧的记帐系统。我们引入了一个新的.NET / SQL程序员团队来进行重写。大多数系统已经使用浮动金额以美元金额完成。我编程的传统系统语言没有浮点数,因此我可能会使用十进制。 您有什么建议? 浮点数或小数数据类型应用于美元金额吗? 两者都有哪些利弊? 我们每天的讨论中提到的一个骗局是,当您计算返回的结果超过两位小数时,必须小心。听起来您必须将金额四舍五入到小数点后两位。 另一个缺点是所有显示和打印量必须具有显示两个小数位的格式语句。我注意到有几次没有这样做,金额看起来不正确。(即10.2或10.2546) 优点是浮点数仅占用磁盘上的8个字节,而十进制将占用9个字节(十进制12,2)

2
在SQL Server游标中获取多个值
我有一个游标,其中包含该行中的几列,它带回了我想立即处理的行。我注意到我看到的有关如何使用游标的大多数示例都显示了它们一次将游标中的特定列分配给一个标量值,然后移至下一行, 例如 OPEN db_cursor FETCH NEXT FROM db_cursor INTO @name WHILE @@FETCH_STATUS = 0 BEGIN --Do Stuff with @name scalar value, then get next row from cursor FETCH NEXT FROM db_cursor INTO @name END 我想知道的是是否有可能执行以下操作: OPEN db_cursor FETCH NEXT FROM db_cursor; WHILE @@FETCH_STATUS = 0 BEGIN SET @myName = db_cursor.name; …
75 sql  sql-server  tsql  cursor 

10
DBCC CHECKIDENT将标识设置为0
我正在使用以下代码来重置表的身份: DBCC CHECKIDENT('TableName', RESEED, 0) 在大多数情况下,这都可以正常工作,我将第一个插入项插入1到Id列中。但是,如果我删除数据库并使用我编写的脚本重新创建它,然后调用DBCC CHECKIDENT,则插入的第一项的ID为0。 有任何想法吗? 编辑:经过研究,我发现我没有正确阅读文档-“当前标识值设置为new_reseed_value。如果自创建以来没有将任何行插入表,执行DBCC CHECKIDENT后插入的第一行将使用new_reseed_value作为标识。否则,插入的下一行将使用new_reseed_value + 1。
75 sql  sql-server 

3
如何使用Dapper.NET将C#列表插入数据库
使用 精致的,如何插入C# List数据库。以前没有dapper,我使用下面的代码将List值插入数据库。 try { connection.Open(); for (int i = 0; i < processList.Count; i++) { string processQuery = "INSERT INTO PROCESS_LOGS VALUES (@Id, @st_Time, @ed_Time, @td_Time)"; command = new SqlCommand(processQuery, connection); command.Parameters.Add("Id", SqlDbType.Int).Value = processList[i].ID; command.Parameters.Add("st_Time", SqlDbType.DateTime).Value = processList[i].ST_TIME; command.Parameters.Add("ed_Time", SqlDbType.DateTime).Value = processList[i].ED_TIME; command.Parameters.Add("td_Time", SqlDbType.DateTime2).Value = processList[i].TD_TIME; dataReader.Close(); dataReader …
75 c#  sql-server  dapper 

15
恢复数据库期间出现mssql'5(访问被拒绝。)'错误
我想通过SQL Server Management Studio从文件(任务→还原→数据库;从设备中选择并选择文件)还原数据库。 在那之后,我得到这个错误: 尝试在'E:\ Program Files \ Microsoft SQL Server \ MSSQL10.MSSQLSERVER \ MSSQL \ DATA \ XXXXXX.mdf'上尝试'RestoreContainer :: ValidateTargetForCreation'时,操作系统返回错误“ 5(拒绝访问。)”。消息3156,级别16,状态8,服务器XXXX,第2行 我该如何解决这个问题?这是安全性错误吗?
75 sql-server  ssms 

2
单个SQL Server语句是否原子且一致?
是SQL Server中的语句ACID吗? 我的意思是 给定一个未包装在BEGIN TRANSACTION/COMMIT TRANSACTION中的T-SQL语句,该语句的操作如下: 原子的:要么执行所有数据修改,要么不执行任何数据修改。 一致:完成后,事务必须使所有数据保持一致状态。 隔离:必须将并发事务所做的修改与任何其他并发事务所做的修改隔离。 持久:事务完成后,其影响将在系统中永久存在。 我问的原因 我在实时系统中只有一条语句似乎违反了查询规则。 实际上,我的T-SQL语句是: --If there are any slots available, --then find the earliest unbooked transaction and mark it booked UPDATE Transactions SET Booked = 1 WHERE TransactionID = ( SELECT TOP 1 TransactionID FROM Slots INNER JOIN Transactions t2 ON …



7
SQL Server中是否有LastIndexOf?
我试图分析出从涉及获取一个字符串值最后一个 指标一个的字符串。目前,我正在做一个骇人的骇客工作,其中涉及反转字串: SELECT REVERSE(SUBSTRING(REVERSE(DB_NAME()), 1, CHARINDEX('_', REVERSE(DB_NAME()), 1) - 1)) 对我来说,这段代码几乎是不可读的。我刚刚升级到SQL Server 2016,希望有更好的方法。在那儿?

4
如何解决SQL Server错误1222,即解锁SQL Server表
我在一个数据库中工作,在该数据库中,我通过数据加载器将数据加载到原始表中。但是今天,数据加载器由于未知原因而卡住了。然后,我从Windows任务管理器中停止了数据加载器。但是随后我再次尝试将数据加载到原始表中,但发现其已锁定,并且无法对其进行任何操作。我尝试重新启动SQL Server服务,但未解决。而且我无权杀死该服务器上的进程。 下面是SQL Server显示的消息。 执行Transact-SQL语句或批处理时发生异常。(Microsoft.SqlServer.ConnectionInfo) 计划地点: 在Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery(字符串的SqlCommand,ExecutionTypes executionType) 在Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery(StringCollection sqlCommands,ExecutionTypes executionType) 在Microsoft.SqlServer.Management.Smo.ExecutionManager.ExecuteNonQuery (StringCollection查询) 在Microsoft.SqlServer.Management.Smo.SqlSmoObject.ExecuteNonQuery(StringCollection查询,布尔includeDbContext) 在Microsoft.SqlServer.Management.Smo.NamedSmoObject.RenameImplWorker(String newName) 在Microsoft.SqlServer.Management.Smo.NamedSmoObject。 RenameImpl(String newName) ================================== 超过了锁定请求超时期限。参数@objname不明确或声明的@objtype(OBJECT)错误。(.Net SqlClient数据提供程序) 服务器名称:162.44.25.59错误号:1222 严重性:16状态:56 过程:sp_rename行号:282 我的SQL Server版本是2008 R2。

3
使用INSERT INTO插入多个值(SQL Server 2005)
在SQL Server 2005中,我试图弄清为什么我不能在表中插入多个字段。下面的查询插入一条记录,可以正常工作: INSERT INTO [MyDB].[dbo].[MyTable] ([FieldID] ,[Description]) VALUES (1000,N'test') 但是,以下指定多个值的查询失败: INSERT INTO [MyDB].[dbo].[MyTable] ([FieldID] ,[Description]) VALUES (1000,N'test'),(1001,N'test2') 我收到此消息: Msg 102, Level 15, State 1, Line 5 Incorrect syntax near ','. 当我在SQL Sever Management Studio中查找INSERT的帮助时,其中一个示例显示了使用的“值”语法(括号内是值组,并用逗号分隔)。我在SQL Server Management Studio中找到的帮助文档看起来像是针对SQL Server 2008的,所以这也许就是插入无法正常工作的原因。无论哪种方式,我都无法弄清楚为什么它不起作用。

8
SQL Server JOIN缺少NULL值
假设我有以下两个表: Table1: Table2: Col1: Col2: Col3: Col1: Col2: Col4: a b c a b d e <null> f e <null> g h i j h i k l <null> m l <null> n o <null> p o <null> q 现在,我想加入这些表Col1,Col2然后将整个集合恢复为: Result: Col1: Col2: Col3: Col4: a b c d e …
75 sql  sql-server 


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.