sql将变量结果保存到新表中
时间: 2024-12-16 10:24:32 浏览: 7
SQL SERVER中表变量之妙用.pdf
在SQL中,如果你想将一个变量存储的结果(通常是查询结果集)保存到一个新的表中,可以使用 `INSERT INTO` 语句结合 `EXEC` 或者动态SQL。例如:
```sql
SET @sql = CONCAT('SELECT * INTO NewTableName FROM (', @chvnTSQL, ') AS tempTable');
EXEC(@sql);
```
这里假设 `@chvnTSQL` 包含了一个查询,我们将其结果插入到名为 `NewTableName` 的新表中。`CONCAT` 函数用于拼接字符串,将原始查询嵌套到新的 `INSERT INTO` 语句中。
如果你的系统支持直接创建表并立即插入数据,还可以使用 `CREATE TABLE` 和 `UNION ALL` 或者 `INSERT INTO SELECT` 直接完成:
```sql
CREATE TABLE IF NOT EXISTS NewTableName AS
SELECT * FROM (EXEC (@chvnTSQL)) AS result;
```
或者
```sql
CREATE TABLE NewTableName AS
SELECT * FROM (
SELECT * FROM #tmpMiddleTable
GROUP BY Borehole_no
) AS result;
```
这里假设 `#tmpMiddleTable` 已经存在。
阅读全文