tsql相关内容

替代钥匙与EF的自然钥匙

我的同事和我正在努力确定哪个是更好的方法来设计两个数据库表的模式和密钥。一个是很少改变的查找表。它有约700行。另一个表引用查找表。这张表将随着时间的推移有数千行。在设计B中,查找表有一个由3个varchars组成的主键。另一个表具有由相同的3个varchars组成的主键,并添加了两个日期字段。在设计A中,3个varchars替换为代理键。 3个varchars对它们有一个独特的约束(UC)。 ..
发布时间:2017-03-22 02:15:48 其他数据库

为什么不将IGNORE_DUP_KEY设置为ON?

IGNORE_DUP_KEY = ON 基本上告诉SQL Server插入非重复的行,但是默认地忽略任何重复的行;默认的行为是引发错误,并在列中不存在重复项时中止整个事务。 我已经与一吨数据通常至少有一个副本,当不应该有,所以我喜欢使用 UNIQUE 约束,当我知道一个值不应该有dups;然而,当我尝试批量加载数据时,我想要的最后一件事是让它获得90%的完成,然后突然遇到一个重复的错误(是的 ..
发布时间:2017-03-21 23:10:22 数据库

按照年份分区,分别命名为Data_2011,Data_2010等

我们正在设计一个大容量的SQL Server应用程序,涉及对指定年份内限制的数据进行处理和报告。 按照年份使用分区。另一个建议是以编程方式创建单独的物理表,其中名称的后缀是年份,并且在多年来需要报告时,提供一个视图,即联盟的物理表。 我的直觉告诉我,这种情况是分区设计要处理的。使用其他方法有什么好处吗? 解决方案 从内部角度看,方法基本相同。 在幕后,当您创建基于日期的分 ..
发布时间:2017-03-21 23:04:36 其他数据库

向t-sql中的所有用户表添加列

我需要在数据库中的所有40个用户表中添加一个删除标志列。我可以编写一个脚本来循环使用sys.tables,但是我想我会检查一下是否有任何一个更好的解决方案,或者为这种情况预先创建sql。 解决方案 有一个未记录的但着名的存储过程sp_msforeachtable: exec sp_msforeachtable '改表?添加标志位不为null默认值0'; ..
发布时间:2017-03-21 22:22:14 数据库

许多关系设计 - 交叉表设计

我想知道多对多关系的交叉表有什么更好的设计。 我正在考虑的两种方法是: p> CREATE TABLE SomeIntersection ( IntersectionId UNIQUEIDENTIFIER PRIMARY KEY, TableAId UNIQUEIDENTIFIER REFERENCES TableA NOT NULL, TableBId UNIQUEIDE ..
发布时间:2017-03-21 22:02:21 其他数据库

如何在视图中调用存储过程?

如何调用在View中返回数据的存储过程?这是甚么可能吗? 解决方案 SQL Server中不允许此构造。内联表值函数可以作为参数化视图执行,但仍然不允许调用这样的SP。 以下是使用SP和内联的一些示例TVF可互换 - 你会看到TVF更灵活(它基本上比一个视图更像一个功能),所以可以使用内联TVF,可以更可重复使用: CREATE TABLE dbo.so916784( nu ..
发布时间:2017-03-21 21:21:22 数据库

从本地SQL Server数据库检索数据的最直接的方法是什么?

我并不需要/想任何安全措施(用户名/密码等) - 我只是想创建从AdventureWorks“精简版”数据库(AdventureWorksLT2012_Data.mdf)检索数据的一个简单的例子,在存储数据一个通用列表。 我有以下代码来查询MS Access数据库。除了连接字符串和查询语句,它基本上是一样的吗? public SQLServerPOCRepository() {$ ..
发布时间:2017-03-20 23:20:14 C#/.NET

对表中的每一行运行SQL Server函数

我有一个函数,它在表中的“for each row”进行迭代。当它运行时,它应该查看每一行,拉入该行的相关SET值,并运行函数,该函数反过来返回一个结果并更新具有正确值的正确行。发生的是,它正在运行并返回最后一行的值,并更新所有具有该值的行。任何想法我做错了什么? SELECT RowNum = ROW_NUMBER()OVER(按ID订购) ,* INTO #Geo FROM ..
发布时间:2017-03-19 23:50:41 数据库

删除不在查询中的位置

我有一个查找表( ## lookup )。我知道这是坏的设计,因为我复制数据,但它加速了我的查询极大。我有一个填充此表的查询 insert into ## lookup从table1中选择不同的col1,col2,... .join ... etc ... 我想模拟这种行为: delete from ## lookup insert into ## look ..
发布时间:2017-03-19 23:14:46 其他数据库

WHERE选择ALL?

我有一个查询,我希望最初调用从数据库捕获所有结果。 然后,当一个组合框更新时,我希望它捕获列只有 WHERE column = SelectedItemFromComboBox 。 我缺少的唯一的东西是一些查询 SELECT * FROM Table1 WHERE Column1 =所有; 这样我可以更新为 SELECT * FROM T ..
发布时间:2017-03-19 21:01:56 数据库

使用SQL Server CTE平层化系列

寻找SQL Server CTE示例来创建层次结构,以便可以输出所有系列,如展平每个层次结构。例如在家庭树中如果根从grand开始父 我需要每个家庭memeber的层次结构列表的成员详细信息的列表+父的行详细信息 like child1 row child1 +父行 child1 +父级行 child2行 child2 +父行 child2 +父级的行 等等 ..
发布时间:2017-03-19 04:36:43 数据库

在所有数据库,所有列和所有表中搜索字符串(SQL Server 2008 R2)

我们在SQL Server中遭受了一些入侵。 我试图在每个数据库中,在每个表中,每列都找到 abortion c $ c> cheat 。 我可以用这个查询,但在一个单一的数据库。 - 将结果存储在本地临时表中。我使用 - 本地临时表,以便我可以在SP_EXECUTESQL中访问它。 create table #tmp ( db varchar(max), tb ..
发布时间:2017-03-19 04:03:01 数据库

SQL Server - 事务复制(仅部分数据)

我有6个月的资料,如何只复制最近3个月的资料给订阅者? 解决方案 您可以使用过滤的复制。当您阅读过滤复制的示例时,您可能会看到它指的是一个分支办公室场景,其中一个中心办公室存储几个分支机构的数据,每个分支只想复制自己的数据。 这里有一个有关使用事务复制的过滤复制的文章,以及使用合并复制过滤。 ..
发布时间:2017-03-19 03:44:43 数据库

如何转换T-SQL列类型和数据就地?

我有一个网站的SQL Server 2005数据库,以明文存储用户密码,我想散列和盐。我知道如何使用 HashBytes 函数来获取和比较哈希,但我不知道转换现有密码列数据的最佳方式。它目前存储为 varchar(50)列,我想使用 binary(20)规划使用SHA-1。 我在考虑 SELECT INTO 一个临时表, ALTER 现有列类型,然后 INSERT 返回用户ID匹配的哈希和s ..
发布时间:2017-03-19 03:19:33 其他数据库