这似乎很简单,但我坚持使用简单的insert语句。请参见以下内容:
begin work;
CREATE TEMPORARY TABLE IF NOT EXISTS insert_table AS
(
select
r.resource_id
,fr.file_repos_id
,mv.VALUE
from
resources r
join versions v on v.RESOURCE_ID = r.resource_id
join metadata_values mv on mv.resource_id = r.resource_id
join file_repository fr on fr.file_repos_id = v.foreign_id
where
v.version_status = 'C'
and r.RESOURCE_TYPE = 4
and fr.file_title in ('suburbs')
);
insert
into
metadata_values (elem_id,value,resource_type,resource_id,foreign_id,mtvr_id,mett_id)
values
(62,'test',4,insert_table.resource_id,insert_table.file_repos_id,80,4);
rollback work;
在临时表行中fr.file_title in ('suburbs')
,实际列表是从其他位置动态拉出的(这是出于演示目的)。我收到以下错误消息:
错误代码:1054。“字段列表”中的未知列“ insert_table.resource_id”
现在,我可以在整个temp表上运行一次select,它返回正常值,只是在update语句中失败。我正在MySQL工作台上运行它。完全不知道这里发生了什么。
您要insert . . . select
:
insert into metadata_values(elem_id,value, resource_type, resource_id, foreign_id,
mtvr_id, mett_id
)
select 62, 'test', 4, insert_table.resource_id, insert_table.file_repos_id, 80, 4
from insert_table;
问题内容: 这与问题653714非常相似,但是对于MySQL而不是SQL Server。 基本上,我有一个复杂的选择,它是几个存储过程的基础。我想在存储过程中共享代码,但是,我不确定该怎么做。我可以这样做的一种方法是,使共享选择存储过程,然后从其他存储过程中调用该存储过程。我不知道如何使用嵌套存储过程的结果集。如果我可以将它们放在临时表中,则可以有效地使用结果,但是我不知道如何将它们放入临时表中。
Msg 7330,级别16,状态2,第1行 无法从链接服务器“(null)”的OLE DB访问接口“BULK”中获取行。 有什么想法吗?谢谢你。
在创建了临时表并声明了数据类型之后; 然后如何插入数据库中物理表中已保存的相关数据?
主要内容:示例,删除临时表关系型数据库支持临时表,这是一项很棒的功能。临时表的概念由 SQL Server 引入,用来存储和处理中间结果。 临时表在会话期间创建,会话结束后自动被删除。临时表可以和普通表一样执行各种操作,比如 SELECT、UPDATE、INSERT、JOIN 等。 MySQL 3.23 及其更高版本才支持临时表,如果您使用的 MySQL 版本低于 3.23,则不能使用临时表,但可以使用堆表(Heap Ta
本文向大家介绍SQL Server 向临时表插入数据示例,包括了SQL Server 向临时表插入数据示例的使用技巧和注意事项,需要的朋友参考一下 这样就可以成功。 会提示error "There is already an object named '#DirtyOldWIPBOM' in the database" 为什么? [笔记]:千万不要用游标,用临时表和表变量代替游标会极大的提高性能,
我很困惑,因为当我在SQLite上运行这个查询时。 在MacOS Mojave SQLITE上,我在“FROM”上得到一个语法错误。没有更多的细节。 这对Postgres有效。 我是否以错误的方式阅读了 SQLite 文档?https://sqlite.org/lang_update.html 以下是查询: 设置查询: