SQL server创建存储过程,循环查询教师表中的数据中的数据,并将数据插入到新表
时间: 2024-02-22 20:57:01 浏览: 48
sql存储过程的创建
5星 · 资源好评率100%
好的,以下是一个示例的 SQL Server 存储过程,它可以循环查询教师表中的数据,并将数据插入到新表中:
```
CREATE PROCEDURE InsertTeachers
AS
BEGIN
DECLARE @teacherId INT
DECLARE @teacherName VARCHAR(50)
DECLARE @subject VARCHAR(50)
DECLARE teacher_cursor CURSOR FOR
SELECT Id, Name, Subject FROM Teachers
OPEN teacher_cursor
FETCH NEXT FROM teacher_cursor INTO @teacherId, @teacherName, @subject
WHILE @@FETCH_STATUS = 0
BEGIN
INSERT INTO NewTable (TeacherId, TeacherName, Subject)
VALUES (@teacherId, @teacherName, @subject)
FETCH NEXT FROM teacher_cursor INTO @teacherId, @teacherName, @subject
END
CLOSE teacher_cursor
DEALLOCATE teacher_cursor
END
```
在上面的代码中,我们创建了一个名为 `InsertTeachers` 的存储过程。它使用一个名为 `teacher_cursor` 的游标来循环查询 `Teachers` 表中的数据,并将每一行数据插入到一个名为 `NewTable` 的新表中。
要执行这个存储过程,可以使用以下代码:
```
EXEC InsertTeachers
```
在上面的代码中,我们使用 `EXEC` 语句来执行存储过程 `InsertTeachers`。当存储过程执行完毕后,新的数据将会被插入到 `NewTable` 表中。
阅读全文