插入多列,并加上“;加上;在postgresql中
我的问题是这样的插入多列,并加上“;加上;在postgresql中,sql,postgresql,sql-insert,common-table-expression,Sql,Postgresql,Sql Insert,Common Table Expression,我的问题是这样的 WITH p AS ( select idA from TableA ) insert into TableB(idB,idA,city,data) select sp_get_id('TableB'),p.idA from p,'TO',now() 注意:sp\u get\u id('TableB')是生成id的存储过程。我执行上面的查询,结果是错误的。您尝试插入的术语是简单的标量。您可以从p查询它们: WITH p AS (SELECT idA FRO
WITH p AS ( select idA from TableA )
insert into TableB(idB,idA,city,data)
select sp_get_id('TableB'),p.idA from p,'TO',now()
注意:
sp\u get\u id('TableB')
是生成id的存储过程。我执行上面的查询,结果是错误的。您尝试插入的术语是简单的标量。您可以从p
查询它们:
WITH p AS (SELECT idA FROM TableA)
INSERT INTO TableB (idB, idA, city, data)
SELECT sp_get_id('TableB'), idA, 'TO', NOW()
FROM p
但是,坦率地说,我认为在这里使用CTE只会使事情复杂化(假设问题本身不是实际问题的简化):
“这是错误的”。你有错误吗?你能分享一下吗?还有,
,'TO',now()
应该做什么?如果您能更好地解释一下,总体来说,您在这里试图做什么,以及相关的代码,如。。。你的程序在做什么,(输入和输出参数),或者为什么是CTE?谢谢你JNeil,现在,Mureinik帮助我解决了这个问题
INSERT INTO TableB (idB, idA, city, data)
SELECT sp_get_id('TableB'), idA, 'TO', NOW()
FROM TableA