sql server使用迴圈語句建立模擬資料
例項1、使用迴圈語句建立模擬資料
1.1 建立學生資訊表
create table stuinfo
( stuid int, --學生編號
stuname nvarchar(20), --學生姓名
*** nvarchar(20) --學生性別
)
1.2 給學生資訊表建立模擬資料
begin
declare @datacount int = 100; --資料總數
declare @currentcount int =1; --當前條數
declare @*** nvarchar(20); --學生性別
while @currentcount<=@datacount
begin
--先刪除舊資料
delete stuinfo where stuid = @currentcount;
--要求:每隔第5條資料時,學生性別為「女」,其餘資料為「男」
if (@currentcount%5=0)
begin
set @*** = '女';
endelse
begin
set @*** = '男';
end;
--執行新增操作
insert stuinfo values(@currentcount,'學生'+ convert(varchar,@currentcount),@***);
--當前條數加一
set @currentcount = @currentcount +1;
end;
end;
例項2:使用迴圈語句建立帶有期間欄位的模擬資料
2.1 建立學生成績表
create table stuscore
( period nvarchar(20), --期間
stuname nvarchar(20), --學生名稱
subject nvarchar(20), --科目名稱
score int --考試成績
)
2.2 給學生成績表建立模擬資料
begin
declare @begindate datetime = '2018-10-01'; --開始日期
declare @enddate datetime = '2018-10-31'; --結束日期
declare @currentdate datetime = @begindate; --當前日期
declare @period nvarchar(20); --當前期間
while @currentdate<=@enddate
begin
--期間值
set @period = convert(varchar(10),@currentdate,120);
--刪除該期間下的舊資料
delete stuscore where period = @period;
--插入模擬資料
insert into stuscore values(@period,'張三','語文',cast(ceiling(rand() * 100) as int));
insert into stuscore values(@period,'張三','數學',cast(ceiling(rand() * 100) as int));
insert into stuscore values(@period,'李四','語文',cast(ceiling(rand() * 100) as int));
insert into stuscore values(@period,'李四','數學',cast(ceiling(rand() * 100) as int));
insert into stuscore values(@period,'王五','語文',cast(ceiling(rand() * 100) as int));
insert into stuscore values(@period,'王五','數學',cast(ceiling(rand() * 100) as int));
--當前日期加一天
set @currentdate = dateadd(day,1,@currentdate);
end;
end;
sql server 語句 迴圈 游標 臨時表
create table tmp i sarinfor varchar 10 建立乙個臨時表 insert into tmp select a.i sailorinfoid from cert sailorletter a left join crew sailorinfo b on a.i sai...
for語句巢狀迴圈使用
案例 要求 輸出 組成的幾行幾列拼成的長方形和三角形 分析 輸出的應該是單個 組成的圖形,所以要考慮到每行每列的 個數 1.要想組成三行四列的長方形圖形 則需要每行先排好四個 再連續執行下面的程式,輸出三行同樣的 for int i 0 i 4 i 2.優化 巢狀迴圈 for int i 0 i 3...
for 迴圈語句的使用
在實際工作環境中,經常會遇到某項任務需要多次執行的情況,而每次執行時僅僅是處理的物件不一樣,其他命令完全相同。如 根據伺服器清單檢查各個主機的存活狀態 根據ip位址黑名單設定拒絕訪問的防火牆策略等。這樣繁瑣的重複任務時,if語句已經不能滿足需求。則我們需要for迴圈語句。for語句的結構 使用for...