首页 文章
  • 3 votes
     answers
     views

    sql server,级联删除和父/子表

    我有一个包含以下列的简单表: id, name and parentID 我在同一个表上创建了 id 和 parentID 之间的关系图(在同一个表上),就像简单的树一样,但是当我尝试用户级联删除时,它对我来说是禁用的 我知道它将是递归删除,如果我将删除父母,它将删除他的孩子 我有没有触发器的安全级联删除的任何选项?
  • 4 votes
     answers
     views

    CASCADE在多对多自引用表中删除

    下面的表 DISPLAY_TAB 是一个自引用表,可以包含父选项卡和子选项卡 . 父选项卡可以有多个子选项卡,子选项卡可以属于多个父选项卡 . 我想在主表和关系表 DISPLAY_TAB_GROUPING 之间 Build CASCADE DELETE关系,因此当删除父或子选项卡时 - 关系也会自动删除(只是关系,而不是实际的选项卡记录) . 所以我在 DISPLAY_TAB_GROUPING 上...
  • 163 votes
     answers
     views

    如何在SQL Server 2005中的一个语句中更新两个表?

    我想一次更新两个表 . 我如何在SQL Server 2005中这样做? UPDATE Table1, Table2 SET Table1.LastName='DR. XXXXXX', Table2.WAprrs='start,stop' FROM Table1 T1, Table2 T2 WHERE T1.id = T2.id AND T1.id ...
  • 157 votes
     answers
     views

    如何以编程方式更改标识列值?

    我有一个MS SQL 2005数据库,其表 Test ,列 ID . ID 是一个标识列 . 我在这个表中有行,所有行都有相应的ID自动递增值 . 现在我想更改此表中的每个ID,如下所示: ID = ID + 1 但是当我这样做时,我收到一个错误: 无法更新标识列'ID' . 我试过这个: ALTER TABLE Test NOCHECK CONSTRAINT ALL set ...
  • 5 votes
     answers
     views

    由SCOPE_IDENTITY()和GO混淆

    我对SQL Server中SCOPE_IDENTITY()的文档和行为感到有点困惑 . 这个页面https://docs.microsoft.com/en-us/sql/t-sql/functions/scope-identity-transact-sql?view=sql-server-2017说这个关于SCOPE_IDENTITY(): 返回插入同一范围内的标识列的最后一个标识值 . 范围是...
  • 1 votes
     answers
     views

    C#到T-SQL - 找到最近的工作日

    任何C#/ T-SQL大师都可以帮助我吗?我很难将这个C#代码转换为T-SQL . 这是C#代码: public (int distance, int absoluteDistance) MinimumDayOfWeekDistance(DayOfWeek dayOfWeekOne, DayOfWeek dayOfWeekTwo) { int forward...
  • 0 votes
     answers
     views

    CentOS 6.7和Windows MSSQL连接 - FreeTDS和PHP

    我搜索了与我的问题相关的答案,但没找到我正在寻找的东西 . 我有Linux CentOS 6.7的服务器 . 我需要在Windows Small Business Server 2003上连接到MS SQL Server 2005.在CentOS中我安装了FreeTDS,并设法使用以下命令从终端连接到SQL Server: # TDSVER=7.0 tsql -H ServerIPAdress -...
  • 7 votes
     answers
     views

    存储过程什么都不返回

    此存储过程不起作用 . 我检查了SQL,并在直接解析到DB时返回正确的值 . 真奇怪啊!它只返回0行 . 可能有什么不对? ALTER PROCEDURE dbo.GetSaltOfUser ( @eMail nvarchar ) AS DECLARE @result nvarchar /* SET NOCOUNT ON */ BEGIN SELECT @result = sa...
  • 3 votes
     answers
     views

    SQL Server索引问题

    我有一个查询连接SQL Server 2005中的3个表,但没有Where子句,所以我索引连接语句中找到的字段 . 如果我的索引设置为Col1,col2,col3 我的加入是 Tbl1 inner join tbl2 On Tbl1.col3=tbl2.col3 Tbl1.col2=Tbl2.col2 Tbl1.col1=Tbl2.col1 与索引的顺序相比,join语句的顺序是否有所不同?我应...
  • 4 votes
     answers
     views

    分区大表 - 索引

    我已经分配了一项任务来改善表格表格上的数据管理过程(数据归档)就像200gb 我现在正在阅读有关表格分区和最佳实践的内容,据我所知,现在流程就像 创建文件组和文件 创建分区功能 分区方案 - (映射间隔以适应文件组) 重新创建聚簇索引 - 这是将表物理移动到另一个文件的时刻 利润:) 但目前无法找到一个信息,现有的非聚簇索引是怎么回事?从这里:http://technet....
  • 0 votes
     answers
     views

    同时拥有非群集和聚簇索引的好处

    假设我们的表A包含列col1,col2和col3 . 我们在col2上有非聚集索引(3个级别) . 当您使用非聚集索引进行搜索并希望返回col3的值时,它会从索引读取3页,然后通过引用移动到数据库并读取另外一页 . 现在让我们假设我们在col1上也有聚簇索引 . 然后,对于相同的搜索,它将从非聚集索引中读取3个页面,然后在聚簇索引中进行密钥查找(至少另外3个页面) . 因此,聚集索引会增加成本 ....
  • 0 votes
     answers
     views

    SQL Server中的插入速度确实很慢

    我需要帮助将200万行插入表中 . 我插入的表有40亿行,我插入的表有200万行 . 插入速率约为每分钟190行 . DECLARE @BatchSize INT = 5000 WHILE 1 = 1 BEGIN INSERT INTO [dbo].[a] ([a].[col1], [a].[col2], [a].[adate], [a].[importdate]) S...
  • 0 votes
     answers
     views

    SQL查询优化

    当有8000行要处理时,此报告过去大约需要16秒 . 现在有50000行,报告需要2:30分钟 . 这是我的第一次传递,客户端昨天需要它,所以我按照需要完成的逻辑顺序编写了这段代码,但没有考虑优化 . 现在随着数据的增加,报告需要更长的时间,我需要再看一下并优化它 . 我正在考虑索引视图,表函数等 . 我认为最大的瓶颈是循环访问临时表,制作4个select语句,并更新临时表... 50,000次 ...
  • 0 votes
     answers
     views

    查找多个范围之间的所有INT

    我正在使用发现工具处理文档父/子系列 . 是否有一种简单的方法可以在多个范围列表之间返回所有数字? 我有一个包含 StartingBatesNumber , BegAtt 和 EndAtt 的359行 #tempTable BegAtt 是贝茨范围的开头, EndAtt 是贝茨范围内的最后一个文档 . 这里是 #tempTable 的一些示例数据: StartingBatesNumber BegA...
  • 0 votes
     answers
     views

    TSQL:将IP与GeoIP数据库进行匹配的有效方法

    我正在寻找将MaxMind free GeoIP database导入SQL服务器,然后发出查询以查找给定IP地址的IP范围 我现在可以想到两种方法: 为每个IPv4网络前缀Stroing bitmask int32值,然后为每个可能的网络前缀长度计算IP的网络前缀,并在网络前缀列中查找前缀 . 我可以从最常见的前缀长度开始,无论它是什么,并继续使用不常见的前缀长度,直到找到记录 . 在int...
  • 3 votes
     answers
     views

    如何在SQL中计算IPv6 CIDR路由前缀?

    我一直在使用在SQL Server 2012实例上运行的T-SQL从IPv4和IPv6地址范围生成CIDR . 通常我们的应用程序(在db之外)负责计算CIDR,但我目前需要在数据库中进行CIDR计算 . 由于IPv6太大而无法存储在 bigint 数据类型中,因此我们将IP地址存储为 binary(4) 或 binary(16) . 如果有点丑陋的话,计算IPv4范围的路由前缀相对简单: de...
  • 0 votes
     answers
     views

    如何在第三个表中没有公共列的情况下连接三个表?

    我有三张 table . 表1,表2,表3 . 我可以在prod_id列的基础上加入table1和table2(这是常见的,并将table2与外键概念联系起来) . 现在我想将table3与table1和table2的结果连接起来,其中table3中的所有列都相同 . 我尝试了row_number()但它没有给出正确的结果 . 我该如何在SQL Server 2016中执行此操作?
  • 152 votes
     answers
     views

    Sql Server字符串到日期转换

    我想转换像这样的字符串: '10/15/2008 10:06:32 PM' 进入Sql Server中的等效DATETIME值 . 在Oracle中,我会说: TO_DATE('10/15/2008 10:06:32 PM','MM/DD/YYYY HH:MI:SS AM') This question意味着我必须将字符串解析为standard formats之一,然后使用其中一个代码进行转换...
  • 2 votes
     answers
     views

    更新表中的列

    所有, 我试图用表中的数据更新表格中的C_NEW列,但不知道从哪里开始 . 我希望底层解释有所帮助 . C1 | C2 | C3 | C4 | C_NEW -------- --------- --------- ------------ ------- 1@a.com | e@a.com | e@a.com | 1@a.com | 1@a.co...
  • 2 votes
     answers
     views

    T-SQL查询计算缺货

    最终目标是计算新产品的调整后每日成交量 . 首先,我需要知道什么时候物品缺货,这就是杀死我的原因 . TransaDate ItemCode TransQty OnHandBefore OnHandAfter 1/1/2016 xyz-125 -5 20 15 1/4/2016 xyz-126 ...
  • 0 votes
     answers
     views

    根据日期获取每日销售报告

    给定日期,该表显示该日期销售的商品 . 该表对项目的类别进行分组,并显示每个类别的总销售额 . 最后,报告显示当天的总销售额 . 像这样的东西: ID Category Price Units Total Value ---------------------------------------------------- 2244 class 10.50 10 ...
  • 9 votes
     answers
     views

    选择具有不同where条件的相同列

    此查询返回特定日期范围内特定销售人员的“已结算”每日销售额总和: SELECT SUM(price) as closed_total FROM dbo.Sales WHERE salesperson_ID = @salesperson_ID AND date_ordered BETWEEN @start_date AND @end_date AND clo...
  • 0 votes
     answers
     views

    SQL / TSQL:在多个表上使用PIVOT

    我正在尝试用SQL中的PIVOT解决两个类似的问题 . 我有三张 table : 第一个有列:orderid,empid,orderdate; 第二列:orderid,productid,unitprice 第三个包含列:empid,firstname,lastname等(有关worker的其他信息) 现在,我需要使用PIVOT来管理这样的事情: empid firstname l...
  • 2 votes
     answers
     views

    使用T-SQL构建去年的客户报告

    我有3张 table (简化): -----------Orders-------------------- Id | Total_Price | Customer_Id | Date --------Order Details--------------------- Id | Order_Id | Product Name | Qty | Value ----Customers------...
  • -1 votes
     answers
     views

    使用SQL Server中的某些值更新表列

    我需要一些帮助或指导 . 我有这种情况,我在第一个表中没有主键: County, Gender, EconomyName, HighestEducation, HighestEducationCount, EconomyCount 在第二张表中,我有 County, Gender, HighestEducation, HighestEducationCount 我想从第二个表值更新...
  • 1 votes
     answers
     views

    在其间创建U-SQL JOIN以创建月度结果

    编辑:我一直在研究所需的结果 . 让我更好地解释一下:我试图达到的目的是为每个SomeData创建一个行,每个SomeData在它的开始和结束日期之间 . 例如SomeData“88888888888888888881”,startDate“2005-12-06 00:00:00.000”和EndDate 2006-03-13 00:00:000“ . 我希望行像: 888888888888888...
  • 7 votes
     answers
     views

    为什么我的Azure SQL数据库删除查询性能如此之慢?

    我有一个大约9GB的Azure Sql数据库 . 它提供一个Web应用程序,每小时处理大约135K请求 . 大多数数据都是短暂的,它会在几分钟到五天内存放在数据库中并被删除 . 每天大约10GB通过数据库移动 . 我试图在表上运行删除查询,从350,000条记录中删除约250,000条记录 . 大约10%的记录有一个或两个nvarchar(max)值足够大,可以存储在LOB存储中 . 在周末,我试...
  • 345 votes
     answers
     views

    如何更新sql server中的前100条记录

    我想更新SQL Server中的前100条记录 . 我有一个表 T1 ,其字段为 F1 和 F2 . T1 有200条记录 . 我想更新前100条记录中的 F1 字段 . 如何在SQL Server中基于 TOP 100 进行更新?
  • 103 votes
     answers
     views

    如何识别引用特定表的所有存储过程

    我创建了一个关于开发环境的表用于测试目的,并且很少有sp正在重写这个表 . 现在我必须删除此表以及识别引用此表的所有sp . 我很难找到所有sp的列表 . 请通过假设表名为“x”并且数据库是sql server 2005来建议一些查询 .
  • 1 votes
     answers
     views

    使用动态sql查询更新表

    对于项目,我们使用包含所有文本的表(名为 txtTable ) . 并且每列包含不同的语言(例如,列 L9 是英语,列 L7 是德语等...) . TextID L9 L7 L16 L10 L12 ------------------------------------------------------ 26 Archiving ...

热门问题