我正在尝试将数据插入存储过程中的临时表中。从现有表中选择数据,然后使用串联数据创建新列。我收到一个错误,指出列名或提供的值数与表定义不匹配。我可以肯定应用程序中的代码是正确的,因此我认为问题在于将数据存储在临时表中的方式。
这是我的进程:
let classKeys = ['math', 'robotics'];
let classesInList = [{key : "WIHUGDYVWJ", className : 'math'},{key : "qwljdhkuqwdnqwdk", className : 'english'},{key : "likubqwd", className : 'robotics'}];
let filteredClasses = classesInList.filter(cls => classKeys.includes(cls.className));
console.log(filteredClasses);
答案 0 :(得分:0)
我认为这是您的问题
SET @Link2 = (SELECT USER.ID FROM USER WHERE USER.Registered = 'Yes')
如果有六个呢?一个变量不能容纳所有变量。您可以这样做:
SELECT TOP(1) @Link2 = USER.ID FROM USER WHERE USER.Registered = 'Yes' ORDER BY [SOMETHING];
如果目标是创建一个具有完整[WEBSITE_LINK]的临时表,则可以在没有所有这些变量的情况下执行此操作:
BEGIN
CREATE TABLE #TempTable
(
[ID] [varchar](10),
[FIRST_NAME] varchar(50),
[LAST_NAME] varchar(50),
[WEBSITE_LINK] varchar(200)
)
INSERT INTO #TempTable
SELECT DISTINCT u.ID
, [FIRST_NAME] = u.FIRSTNAME
, [LAST_NAME] = u.LASTNAME
, [WEBSITE_LINK] = 'http://www.mywebsite.com/user/' +
CAST(u.ID AS VARCHAR(10)) +
'/document.doc'
FROM [USER] u
WHERE u.Registered = 'Yes'
-- Do something with these values...
DROP TABLE #TempTable
END