如何为下表设置唯一键约束,以确保日期/开始时间和日期/结束时间之间的日期/时间跨度不与其他记录重叠?如果我需要添加计算列,什么数据类型和计算?
Column Name Data Type
Date date
BeginTime time(7)
EndTime time(7)
Run Code Online (Sandbox Code Playgroud)
谢谢。
我正在尝试选择数据库中所有函数及其依赖项的列表。
(如果我手动查看依赖项并选择“依赖于[功能]的对象”选项,则会出现依赖项。)
我的主要问题是将所有依赖项汇总到每个函数的一行中。
我尝试过使用stuff,但由于某种原因我无法让它在这种情况下工作。
select
o.name
, stuff((select N', ' + Name from sys.objects o3 where o3.object_id = o2.object_id for xml path ('')), 1, 1, N'') as Dependencies
from sys.objects o
left join sys.sql_expression_dependencies sed
on object_id = referenced_id
left join sys.objects o2
on referencing_id = o2.object_id
where o.type='FN'
order by o.name
Run Code Online (Sandbox Code Playgroud)
我哪里错了?
长话短说; 我正在测试一个通过网络连接从表中清除条目的系统,预计该功能最多可处理超过 20 亿个条目。
我需要对此进行压力测试才能确定。
这是我的测试脚本(最多可以在十分钟内生成 980 万个。)
DECLARE @I INT=0
WHILE @I <2000000001
BEGIN
INSERT INTO "Table here"
VALUES(@I)
SET @I=@I+1
END
Run Code Online (Sandbox Code Playgroud)
任何人都可以提出任何建议,或者让我了解在这种情况下我的测试环境的上限可能是什么?
我有可以满足我需要的csv分割器。
您可以按原样获取并运行它:
declare @t table(data varchar(max))
insert into @t select 'a,b,c,d'
insert into @t select 'e,,,h'
;with cte(xm) as
(
select convert(xml,'<f><e>' + replace(data,',', '</e><e>') + '</e></f>') as xm
from @t
)
select
xm.value('/f[1]/e[1]','varchar(32)'),
xm.value('/f[1]/e[2]','varchar(32)'),
xm.value('/f[1]/e[3]','varchar(32)'),
xm.value('/f[1]/e[4]','varchar(32)')
from cte
Run Code Online (Sandbox Code Playgroud)
唯一的问题是,如果我在data中引入 XML 敏感字符,例如&:
insert into @t select 'i,j,&,k'
Run Code Online (Sandbox Code Playgroud)
它失败并出现错误:字符 24,非法字符
一种解决方案是将&字符即时替换为& ,如下所示:
select convert(xml,'<f><e>' + replace(replace(data,'&','&'),',', '</e><e>') + '</e></f>') as xm
Run Code Online (Sandbox Code Playgroud)
但是有几十个特殊的 XML 字符我需要在转换时转义,而且我不能真正在其中嵌套几十个 Replace (replace(replace(...函数)。这就是我所做的,而且很混乱。
如何修改上面的代码以转义 XML 敏感字符并产生相同的结果?
谢谢!
如何查看 Microsoft SQL Server 2014 中哪个表占用了多少存储空间?
SQL Server 是否有与 Ansi SQL 运算符等效的运算符:IS DISTINCT FROM/IS NOT DISTINCT FROM?
我知道我可以替换:
value1 is not distinct from value2
Run Code Online (Sandbox Code Playgroud)
和 :
(value1 = value2) or (value1 is null and value2 is null)
Run Code Online (Sandbox Code Playgroud)
或者 :
coalesce(value1, -1) = coalesce(value2, -1)
Run Code Online (Sandbox Code Playgroud)
但是这些选项会阻止引擎使用索引,那么SQL Server是否有特定的运算符来检查这种比较?
谢谢。
假设 SQL Server 2014 中的数据库设置如下:
DECLARE @MATERIAL TABLE (ID int, CODE varchar(30));
INSERT @MATERIAL (ID, CODE) VALUES
(1, 'D3033MBBY'),
(2, 'D3033MBTY'),
(3, '011130-01'),
(4, '011130-04C'),
(5, '021002'),
(6, '021017-B'),
(7, '021134-01'),
(8, '021135-01'),
(9, '021955-01'),
(10, '3LS91101-550'),
(11, 'D3049MBRB'),
(12, 'EF0118'),
(13, 'FV8130'),
(14, 'FY7009'),
(15, 'H05802'),
(16, 'D3033MRTE');
DECLARE @SUBSTITUTE TABLE (ID int, ITEID int, SUBSTITUTECODE varchar(100));
INSERT @SUBSTITUTE (ID, ITEID, SUBSTITUTECODE) VALUES
(5232, 1, '191045762418'),
(5442, 2, '191045762418'),
(6435, 3, '5206432380030'),
(6573, 4, '5206432380030'),
(6582, 5, '5206432357131'),
(6683, …Run Code Online (Sandbox Code Playgroud) 在我开始运行并从头开始编写自己的版本之前,是否有API可以将SQL Server中的系统视图(例如sys.tables和sys.procedures)公开给C#?
我正在尝试将数据插入我的SQL Server 2014数据库,但是我收到了一个错误
')'附近的语法不正确.
我的表格与我输入的数据类型相匹配,例如,我将其int放入int.
这是我的代码:
string ip = Request.UserHostAddress;
string name = "Jesus said: Love your Enemies (V.S.)";
int blueq = Convert.ToInt32(TextBox1.Text);
int redq = Convert.ToInt32(TextBox2.Text);
int whiteq = Convert.ToInt32(TextBox3.Text);
int blackq = Convert.ToInt32(TextBox4.Text);
int whiteqr = Convert.ToInt32(TextBox9.Text);
int redqr = Convert.ToInt32(TextBox10.Text);
int sn = 600;
int price = total_jslye;
string size;
if (RadioButton1.Checked == false)
{
size = "11x35";
}
else
size = "18x50";
try
{
string conn = System.Configuration.ConfigurationManager.ConnectionStrings["SQLCS"].ConnectionString;
var cmd = "INSERT …Run Code Online (Sandbox Code Playgroud) 我有以下情况.
如果将值传递给@UserId参数,则需要过滤这些用户记录.
如果没有传递值,那么我需要带上所有记录.
列RecipientId不是NULL.
但是,即使我传递了值,查询下面也会返回所有记录.
DECLARE @UserId INT
SET @UserId = 47
SELECT *
FROM Message MR
WHERE MR.CompanyId = 1
AND (
MR.RecipientId IS NOT NULL
OR MR.RecipientId = @UserId
)
Run Code Online (Sandbox Code Playgroud) sql-server-2014 ×10
sql-server ×8
sql ×5
t-sql ×4
c# ×2
analytics ×1
asp.net ×1
csv ×1
database ×1
sql-null ×1
ssms ×1
where-clause ×1
xml ×1