INSERT INTO Students_8208210915 (Sno, Sname, Gender, Birthday) SELECT ROW_NUMBER() OVER (ORDER BY a.object_id) AS Sno, CONCAT('Student', ROW_NUMBER() OVER (ORDER BY a.object_id)) AS Sname, CASE WHEN ABS(CHECKSUM(NEWID())) % 10 < 3 THEN '女' ELSE '男' END AS Gender, DATEADD(DAY, ABS(CHECKSUM(NEWID())) % 365 * -1, GETDATE()) AS Birthday FROM sys.all_objects a CROSS JOIN sys.all_objects b WHERE a.object_id % 100 = 0 AND b.object_id % 100 = 0 ORDER BY Sno;
时间: 2024-04-06 07:33:43 浏览: 61
学生数据输入
以上代码是向 Students_8208210915 表中插入数据的 SQL 语句。这条语句使用了 SELECT 语句的子查询形式,从系统表 sys.all_objects 中随机选取一些对象,生成学生的学号、姓名、性别和出生日期信息。其中 ROW_NUMBER() OVER (ORDER BY a.object_id) AS Sno 这条语句是使用 ROW_NUMBER() 函数生成学生的学号。由于系统表 sys.all_objects 中的 object_id 属性是递增的,因此通过对 object_id 取模的方式来过滤数据,使得生成的学生信息是随机的。最后通过 ORDER BY Sno 来对生成的学生信息按照学号进行排序。
阅读全文