tsql相关内容

仅在行不存在时才插入行

我一直使用类似于以下的东西来实现它: 插入表格选择@首要的关键,@值1,@值2在哪里不存在(选择空值从桌子在哪里主键 = @primaryKey) ...但是一旦在负载下,就会发生主键冲突.这是唯一插入该表的语句.那么这是否意味着上面的语句不是原子的呢? 问题是这几乎不可能随意重新创建. 也许我可以将其更改为以下内容: 插入表格和(保持锁,上锁,行锁)选择@首要的关键,@值1,@ ..
发布时间:2022-01-30 20:56:56 数据库

T-SQL中等效的拆分函数?

我希望将 '1,2,3,4,5,6,7,8,9,10,11,12,13,14,15...'(逗号分隔)拆分为表格或表变量. 有没有人有一个函数可以连续返回每一个? 解决方案 这里有一些老式的解决方案: /*将字符串拆分为以指定字符分隔的部分.*/创建函数 [dbo].[SDF_SplitString](@sString nvarchar(2048),@cDelimiter ncha ..
发布时间:2022-01-30 20:45:42 数据库

如何将数组传递到 SQL Server 存储过程

如何将数组传递给 SQL Server 存储过程? 例如,我有一个员工列表.我想将此列表用作表格并将其与另一个表格连接.但是员工列表应该作为 C# 的参数传递. 解决方案 SQL Server 2008(或更新版本) 首先,在您的数据库中,创建以下两个对象: CREATE TYPE dbo.IDList如表(ID INT);去创建过程 dbo.DoSomethingWithE ..
发布时间:2022-01-30 10:08:40 C#/.NET

生成日期范围之间的日期

我需要填充一个表格来存储两个给定日期之间的日期范围:09/01/11 - 10/10/11 所以在这种情况下,表格将从 2011 年 9 月 1 日开始并每天存储到 11 年 10 月 10 日我想知道在 SQL Server 中是否有一种巧妙的方法来执行此操作 - 我目前正在使用 SQL Server 2008.谢谢 解决方案 Easy on SQL 2005+;如果您有数字或计数 ..
发布时间:2022-01-24 19:16:17 数据库

如何在 TSQL 中测试linkedserver 的连接性

我需要编写一个程序来从多个远程服务器收集数据, 我使用链接服务器和 OPENQUERY 从服务器收集数据,但有时我会失去与某些服务器的连接,或者我根本无法连接它们(例如远程服务器脱机)- 在这些情况下,OPENQUERY 会导致超时. 所以我想先检查linkedservers的连接性,然后如果它成功运行查询,如果不是就转到下一个远程服务器. 我尝试将 OPENQUERY 放入 T ..
发布时间:2022-01-24 15:29:48 其他开发

从 ADO.NET 与 SMSS 相比,具有相同查询计划的相同查询需要大约 10 倍的时间

我的查询相当复杂,但我已对其进行了简化以解决此问题,现在它是一个简单的 JOIN,我在 SQL Server 2014 数据库上运行.查询是: SELECT * FROM SportsCars as sc INNER JOIN Cars AS c ON c.CarID = sc.CarID WHERE c.Type = 1 当我从 SMSS 运行此查询并在 SQL Profiler 中观察它时 ..
发布时间:2022-01-23 22:17:20 C#/.NET

数据库本地化 - 查找列表 - 更智能的方式

我希望在数据库中添加一些查找列表,但我希望它们易于本地化(SQL 2005,ADO.NET) 这将包括: 同时轻松管理多种语言 从数据库中轻松检索值 后备语言(以防所选语言缺失) 我正在考虑使用一个表来存储多语言查找列表(对不同语言使用相同的 id)并使用一个函数来返回查找列表的值 - 通过接收 ID 和语言. 其中一个陷阱是我必须手动为每个使用查找列表的查询添加语言参 ..
发布时间:2022-01-23 22:08:16 C#/.NET

C# SQL Top 作为参数

试图在我的sql语句中参数化TOP的值. SELECT TOP @topparam * from table1command.Parameters.Add("@topparam",SqlDbType.VarChar, 10).Value = somevalue.ToString(); 这似乎不起作用.有人有什么建议吗? 只是为了澄清,我不想使用存储过程. 解决方案 在SQL Serv ..
发布时间:2022-01-23 21:52:15 数据库

将文本框值插入数据库

我是这里的新手,想要一些关于 C# 编程的建议 我想将文本框中的值存储到数据库中.到目前为止,我有以下内容: string connectionString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Customers.mdf;Integrated Security=True;User Instance=Tr ..
发布时间:2022-01-23 21:52:04 C#/.NET

如何登录 T-SQL

我正在使用 ADO.NET 访问 SQL Server 2005,并且希望能够从我正在调用的 T-SQL 存储过程内部进行日志记录.这有可能吗? 在使用 ADO.NET 时,我无法看到“打印"语句的输出,因为我只想将日志记录用于调试,理想的解决方案是从 SysInternals 向 DebugView 发出消息. 解决方案 我按照 Eric Z Beard 的建议编写了一个 SQLC ..
发布时间:2022-01-23 21:50:56 数据库

在 C# 中从 SQL 数据库中读取值

我刚开始学习 C#,我可以毫无问题地将数据写入数据库.但是我在阅读时遇到了问题,SQL 执行得很好,但是我在存储它时遇到了问题.我将如何存储应该返回的四列,然后将它们显示为消息框?谢谢. SqlCommand myCommand = new SqlCommand("select * from Requests where Complete = 0", myConnection);SqlDataR ..
发布时间:2022-01-23 21:50:02 C#/.NET

如何在 ADO.NET 中将“DEFAULT"指定为 SQL 参数值?

我有一个针对 SQL2005 的参数化 SQL 查询,它是在代码中动态创建的,所以我使用 ADO.NET SqlParameter 类将 sql 参数添加到 SqlCommand. 在上述 SQL 中,我从具有默认值的表值函数中进行选择.我希望我的动态 sql 有时为这些默认参数指定一个值,有时我想指定应该使用 SQL DEFAULT - 如表值函数中定义的那样. 为了保持代码 干净 ..
发布时间:2022-01-23 21:39:34 其他开发

如何以编程方式检查(解析)TSQL 语句的有效性?

我正在尝试使我的集成​​测试更具幂等性.一个想法是在每次测试后执行回滚,另一个想法是如何以编程方式解析文本,类似于查询分析器或 SSMS 中的绿色复选框. 如何让 SQL Server 解析我的命令而不使用 ADO.NET 运行它? 更新:这就是最终如愿以偿的工作: 使用 (DbCommand executeOnly = Factory.DbCommand()){executeOnl ..
发布时间:2022-01-23 21:35:55 C#/.NET

参数化 SQL 查询

许多关于 C# 中的 SQL 参数的帖子,但我仍然缺少一些东西.我没有收到错误消息,但没有插入数据.缺什么?我有名为 fname、lname、address、city、state 和 zip 的文本框. private void enter_button_Click(object sender, EventArgs e){字符串 first, last, addy, city1, stat, ..
发布时间:2022-01-23 21:35:35 C#/.NET

SQL:使用 1 个查询更新一行并返回一列值

我需要更新表中的一行,并从中获取一个列值.我可以这样做 UPDATE Items SET Clicks = Clicks + 1 WHERE Id = @Id;从 Id = @Id 的项目中选择名称 这会生成 2 个对表的计划/访问.是否可以在 T-SQL 中修改 UPDATE 语句以更新并返回仅具有 1 个计划/访问权限的 Name 列? 我正在使用 C#、ADO.NET Execut ..
发布时间:2022-01-23 21:26:28 C#/.NET

SET NOCOUNT ON 使用情况

灵感来自 this question对SET NOCOUNT有不同看法的地方... 我们应该对 SQL Server 使用 SET NOCOUNT ON 吗?如果没有,为什么不呢? 它的作用编辑 6,2011 年 7 月 22 日 它会在任何 DML 之后抑制“​​xx 行受影响"消息.这是一个结果集,在发送时,客户端必须对其进行处理.它很小,但可以测量(请参阅下面的答案) ..
发布时间:2022-01-23 21:16:38 数据库