问题标签 [sql-server-2016-express]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
852 浏览

sql - SQL 根据其中一行中的值更新多行

我有一个每天在数据馈送上运行的进程,并更新我们库存数据库中存在于数据馈送中的所有项目的 last_update_time (日期时间字段)。我遇到的问题是,当一个项目从数据源中删除时,它的 last_updated_time 不再由我的进程在数据库中更新。从数据馈送中删除项目后,只要存在与该项目共享相同 item_group_id (nvarchar) 的项目,我仍然希望更新其 last_update_time。

即,如果数据库中确实存在一个项目,其 last_updated_time 已由我的进程更新,并且确实与数据馈送中不再存在的其他项目共享 item_group_id,我希望将它们的 last_update_time 设置为任何项目的最新 last_update_time共享该 item_group_id。

出于这个问题的目的,我们正在讨论单个表中的所有列(实际查询更复杂,但为了清楚起见,我已经减少了)。

所以,首先它看起来像:

然后

我想我也许可以在我的更新语句中做一个嵌入式查询,如这里的答案之一所示如何用多行更新 1 行?,但我正在努力找出确保我只更新具有相同 GroupID 的项目的 last_updated_time 字段的语法。

任何帮助将不胜感激。在 C# 应用程序中使用 SQL Server Express。

0 投票
1 回答
81 浏览

sql-server - 如何在sql server中执行动态创建的查询

我写了一个存储过程,我写了一个查询来获取userid. 每个userid. 因此,我正在尝试根据从我以前的选择查询中获得的用户 ID 在循环中运行选择查询。

我正在尝试将此选择查询中的列分配给声明的变量并进一步使用它们。但是我不明白如何将这些分配给变量,因为我遇到了错误

如果执行存储过程,它将被执行而不是停止。如果我强制停止执行,那么我会收到错误,因为“必须声明标量变量” uid“”

查询我试过的

0 投票
1 回答
346 浏览

sql - 如何循环在 SQL Server 中动态创建的查询

我有一个存储过程,我从表中获取数据库名称,然后尝试从该数据库名称创建动态查询并获取结果。获取结果后,我需要循环这些结果以执行进一步的查询以获得所需的结果

由于 SQL 查询是动态的 - 我如何循环这个动态查询的输出。

0 投票
1 回答
78 浏览

sql - 循环数组游标不循环多次 - SQL SERVER

我有一个数组,我在 Javascript 中将其字符串化,如下所示

我正在执行 SP 如下

我正在尝试将每个计划 ID 保存为 table 中的每一行plan,为此我编写了下面的 SP 我正在循环数组并尝试在循环内打印PlanID(稍后我将编写 INSERT 查询代替 PRINT)。

即使数组中有 3 个计划 ID,也只有一条记录被插入。光标不会多次循环。

0 投票
2 回答
57 浏览

sql - 选择值以创建具有可选外键的唯一行

我在 SQL Server 数据库中有几个表,其中两个(Table1Table2)我想从中选择一个特定的子集,以填充第三个表(Table3)。

Table1共有 25 列,我只对其中的 3 列感兴趣,我们称它们Col1Col2Col3。这三个在此表中都不是唯一的,但我想提取唯一的对,如下所示:

  • Col1+ Col2= 的唯一键Table3
  • Col3+ Col2=可选,外键入Table2

Table3Table1以下 SQL中提取唯一键可以正常工作:

然而,这是缺失的Col3。第一个问题是Col3不能简单地添加为的一部分,GROUP BY因为它可以有不同的值,这会导致Col1+Col2的重复组合被返回。

这就是Table2发挥作用的地方;Col3+在 中Col2形成一个唯一键Table2,但不是每个组合都存在(这很有帮助),因为 aJOIN可用于过滤掉无效组合:

现在我的最后一个问题是,不幸的是,有一些(很少)组合确实Col1Col2导致Table3.

如果我们假设丢失一些Col3值是可以的,我如何编写 aSELECT来提取三列,确保组合Col1+Col2是唯一的?如果可能的话,保留一个Col3提供有效组合键的值Table2

我已经搞砸了添加TOP 1,但我没有让任何事情符合我的喜好......

编辑:根据要求提供示例数据。

第三个表显示了我正在寻找的结果 - 该表仅包含Col1+的唯一组合,Col2还包含一个Col3值,最好是在第二个表中提供值组合的值Col2(即最后一个条目,400、00、060) .

我希望这可以提供更多的清晰度。

0 投票
1 回答
213 浏览

sql - Microsoft SQL Server 2016 安装程序

当我尝试打开 SQL Server 安装文件时出现此错误:

此计算机上的操作系统或其服务包级别不满足 SQL Server 2016 的最低要求。确定.....***

通过转到“属性”并选中“以兼容模式运行此程序:widows 7”框,我的问题也没有解决。我的系统规格是:Windows 7 Ultimate /系统类型:64 位 / RAM:4.00GB / ,处理器:Inrtel(R) Core(TM) i3-6100 CPU @3.70Hz

此外,我有以下版本的 Microsoft .Net 框架软件:*

  • Microsoft .Net Framework 4.5 多目标包
  • Microsoft .Net 框架 4.5 SDK
  • Microsoft .Net Framework 4.5.1 多目标包
  • Microsoft .Net Framework 4.5.1 多目标包(ENU)
  • Microsoft .Net 框架 4.5.1 SDK
  • Microsoft .NetFramework 4.5.2 多目标包
  • Microsoft .Net Framework 4.5.2 多目标包(ENU)
  • Microsoft .Net 框架 4.6 SDK
  • Microsoft .Net Framework 4.6 目标包
  • Microsoft .Net Framework 4.6 目标包(ENU)
  • 微软 .Net 框架 4.8
  • Microsoft .Net 框架 4.8 SDK
  • Microsoft .Net Framework 4.8 目​​标包
  • Microsoft .Net Framework 4.8 目​​标包(ENU)
  • Microsoft .Net 版本 Manager 1.0.0-beta5 SQL Server 规格:Microsoft® SQL Server 2016 Service Pack 2 (SP2)

帮我!

0 投票
1 回答
30 浏览

sql - 更新采购表后,我想自动更新我的库存表

我正在开发库存管理系统。我必须像这样的桌子。

tblPurchase桌子

tblProductStock桌子

现在我想做这样的事情。现在tblPurchase表戴尔笔记本电脑数量是 35。tblProductStock也一样。现在我退回 5 台戴尔笔记本电脑。现在我想更新我的tblPurchasePurchaseId1 是 25 或PurchaseId3 是 0。因为我返回了 5 项。我不在乎哪个purchaseid。如果我从 30 中扣除,它应该是 25。或者如果我扣除表格purchaseId3 。它应该是0。

而且我的tblProductStock表也应该根据tblPurchase表数量进行更改。这意味着现在我的tblProductStock戴尔笔记本电脑表必须是 30。为了实现这个目标,我们可以使用这样的更新查询。

但我的问题不是这个。这是预期的工作。想象一下我的tblPurchase台式戴尔笔记本电脑数量是 30。我卖一台笔记本电脑。不是我的tblProductStock戴尔笔记本电脑是 29 台。不是 30 台。现在我从表中退回 5 台戴尔笔记本电脑tblPurchase。现在我的购买数量应该是 25。我的tblProductStock桌子必须是 24。因为我卖了一件。为了实现这个目标,我可以使用以下更新语句。

但是我怎样才能将这两个更新查询与触发器一起使用。如果我使用两者都是相同的触发器,它会得到错误的值。因为两个表中的数量相同。我想更新tblProductStock表。但我的tblProductStock餐桌数量是 29 并且购买量是 30 。在我返回 5 之后,现在我的tblPurchase25tblProductStock应该是 24。这就是我问这个问题的原因。有人可以重写此代码,请发给我。我尝试解决这个问题超过 100 次。仍然没有解决这个问题。

0 投票
1 回答
35 浏览

sql-server - 审计 SQL Server - 谁在什么时候改变什么?SOX 投诉

在我的组织中,我们正在做非常有限的日志记录或任​​何类型的记录,以捕捉谁在何时改变什么。

我在这里寻求帮助,以了解什么是捕获 SQL Server 数据库中发生的任何日志记录的最佳实践。

我正在考虑根据用户可以使用应用程序执行的重要业务用例来查看表格,然后制作一个包含以下字段的 xl 文件,以便我将此文件作为自己的参考。

当前 XL 文件开始捕获初始更改

我的问题:还有其他更好的方法来捕获数据库中的当前更改吗?SQL Server 中是否有一种方法可以用来确定我们是否正在捕获数据库中的任何日志记录?

我们没有任何 CDC 实施或 C2 审计跟踪启用或更改跟踪启用。

管理层希望利用数据库表中捕获的数据。

0 投票
1 回答
35 浏览

vb.net - VS 2019 WebForms VB-project tableadapter未定义?

我正在 VS-2019 中构建一个 Web 表单应用程序。我正在尝试使用 VS-2017 中与模式 xsd 文件中的表适配器一起使用的代码。我将 xsd 和 xss 文件复制到 VS-2019 项目中。我可以看到我所有的表和查询(vs-2019 和 vs-2017 都指向同一个本地 Sql-DB)。但是,当我将 bllVehicle.vb 代码复制到 APP_Code 文件夹中时,VB 代码看起来不错,但不是两个带有波浪线的句子:

看来我需要参考表格适配器,但我不知道如何。

你能帮忙吗?谢谢...约翰·D。

0 投票
2 回答
70 浏览

sql - WHERE 字符串 IN 字符串 SQL Server

现在我遇到了麻烦,不知道如何解决。

那么,如何使用参数@brand_id 包含 IN related_brand_id 来选择表 Category 中的所有行?

我的预期结果: