用子查询插入表格
问题描述:
我可以在SQL 2005中执行此操作吗?用子查询插入表格
SELECT 'C'+inserted.exhid AS ExhId,inserted.exhname AS ExhName,inserted.exhid AS RefID INTO mytable FROM inserted
WHERE inserted.altname IS NOT NULL
如果表存在,它将不起作用,但如果表不存在,则会创建该表。我如何获得它插入到现有的表中?
答
这样
INSERT INTO mytable
SELECT 'C'+inserted.exhid AS ExhId,inserted.exhname AS ExhName,
inserted.exhid AS RefID FROM inserted
WHERE inserted.altname IS NOT NULL
你也不必在这种情况下,别名
答
要插入到现有的表,使用INSERT INTO
,而不是`SELECT INTO
答
SQLMenace的答案是正确的。但是为了增加它,我建议在表结构/列顺序不断变化的情况下,明确列出要插入的列是一种好的做法,这样,您的proc就可以更好地持续工作。
INSERT INTO mytable (
ExhId,
ExhName,
RefID)
SELECT 'C'+inserted.exhid,
inserted.exhname,
inserted.exhid
FROM inserted
WHERE inserted.altname IS NOT NULL
+0
会这样做,谢谢你的提示。 – user269186 2010-02-11 16:41:04
谢谢!我在想什么? – user269186 2010-02-11 16:39:53