sql-server - 如何将选择查询结果插入到带有存储过程的表中
问题描述
我想将查询结果添加到另一个表中,该表仅用于通过存储过程收集一些统计信息。
这就是我所取得的成就:https ://sqltest.net/#926688
但是结果集是空的,我不知道为什么。
Table: SurveyData
ID|Variable1|Variable2
1| 3| 4
2| 2| 4
3| 5| 1
使用存储过程,我想计算变量的值以防它们为 4 或 5,并将结果放入另一个名为 Upper_Values 的表中
结果应该是这样的
Table: Upper_Values
ID|Var1count|Var2Count
1 | 1| 2
2 | ...
我为此写的SP是:
GO
CREATE PROCEDURE Put_Values
AS
BEGIN
SET NOCOUNT ON
INSERT INTO Upper_Values(Var1Count, Var2Count)
Select count(Variable1) as Var1Count, count(Variable2) as Var2Count from surveyData
END
谁能帮我完成这件事?
解决方案
我修改了您的代码,以便它可以运行。
CREATE TABLE sql_server_test_a
(
ID NVARCHAR(4000),
FIRST_NAME NVARCHAR(200),
LAST_NAME NVARCHAR(200)
);
INSERT INTO sql_server_test_a (ID, FIRST_NAME, LAST_NAME) VALUES ('1', 'Paris', 'Hilton');
CREATE TABLE sql_server_test_b
(
FIRST NVARCHAR(200),
LAST NVARCHAR(200)
);
GO
CREATE PROCEDURE Put_First
AS
BEGIN
SET NOCOUNT ON
INSERT INTO sql_server_test_b(FIRST, LAST)
Select FIRST_NAME as FIRST, LAST_NAME as LAST from sql_server_test_a
END
GO
EXEC Put_First;
SELECT * from sql_server_test_b
推荐阅读
- android - 如果手机一夜不活动,则不会触发 Android PHONE_STATE
- angular - 通过json显示列表中的特定项目
- git - 在新的 GIT 分支中省略一些提交
- python - 如何从二维点云或图像中检测角点?
- git - 不小心忘记切换分支,如何取消合并分支?
- android - 如何从回收站视图中的所有数字选择器中获取值?
- java - MySQL 语法错误 | 您的 SQL 语法有错误;
- javascript - 为什么 TypeScript 有时只能通过字符串索引对象
- prometheus - Prometheus 查询返回 Top 5 结果
- java - 我们如何使用 jpa 规范实现动态排序?