📅  最后修改于: 2023-12-03 15:35:22.930000             🧑  作者: Mango
在SQL中,有时候我们需要向一个表中添加多条记录,而手工一个一个添加显然效率不高。这时候,我们可以使用T-SQL动态生成一串SQL语句,将多条记录一次性插入表中。
首先,需要明确将多条记录插入表中的格式,如下所示:
INSERT INTO TableName (column1, column2, column3)
VALUES (value1, value2, value3), (value4, value5, value6), ...;
接着,使用T-SQL的字符串连接函数将多条记录的插入语句拼接成一个完整的SQL语句,如下所示:
DECLARE @insert_sql VARCHAR(MAX);
SET @insert_sql = 'INSERT INTO TableName (column1, column2, column3) VALUES ';
SET @insert_sql = @insert_sql + '(''value1'', ''value2'', ''value3''), ';
SET @insert_sql = @insert_sql + '(''value4'', ''value5'', ''value6''), ...;';
最后,使用EXECUTE语句将生成的SQL语句执行即可:
EXECUTE (@insert_sql);
以下是一个向员工表中插入多条记录的示例代码:
DECLARE @insert_sql VARCHAR(MAX);
SET @insert_sql = 'INSERT INTO Employee (EmpName, Age, Gender, Department) VALUES ';
SET @insert_sql = @insert_sql + '(''Tom'', 25, ''M'', ''Sales''), ';
SET @insert_sql = @insert_sql + '(''Jerry'', 28, ''M'', ''Marketing''), ';
SET @insert_sql = @insert_sql + '(''Mary'', 30, ''F'', ''Finance''), ';
SET @insert_sql = @insert_sql + '(''John'', 26, ''M'', ''IT'')';
EXECUTE (@insert_sql);
这个代码会向Employee表中插入四条记录,分别是Tom、Jerry、Mary和John的信息。