SQL插入多行我有一個變量@RowNumber
基於可變
我想創建一個基於@RowNumber
變量變量表@table
。
如果@RowNumber
是6我想@table頂部呈現以下信息
MonthID Month
1 Month1
2 Month2
3 Month3
4 Month4
5 Month5
6 Month6
任何幫助,將不勝感激....
SQL插入多行我有一個變量@RowNumber
基於可變
我想創建一個基於@RowNumber
變量變量表@table
。
如果@RowNumber
是6我想@table頂部呈現以下信息
MonthID Month
1 Month1
2 Month2
3 Month3
4 Month4
5 Month5
6 Month6
任何幫助,將不勝感激....
在SQL Server:
DECLARE @Table TABLE (MonthID int, Month nvarchar(20))
DECLARE @RowNumber int = 12
DECLARE @Count int = 1
WHILE @Count <= @RowNumber
BEGIN
INSERT INTO @Table (MonthID, Month) VALUES (@Count, 'Month' + CAST(@Count AS nvarchar))
SET @Count = @Count + 1
END
SELECT * FROM @Table
嗨Ruud - 完美的作品 - 感謝您的幫助 – gillers322
SQL Server中的一種表格方式T
:
declare @RowNumber int = 6
;with T(MonthID, Month) as
(
select 1 as MonthID , 'month' + cast(1 as varchar(6))
union all
select MonthID + 1, 'month' + cast(MonthID as varchar(6))
from T
where MonthID < @RowNumber
)
select * from T
嗨亞歷克斯,絕對完美 - 非常感謝 – gillers322
declare @rownum int
declare @monthid int
declare @date datetime
/* rownum initialized in your code*/
select @rownum = 6
select @monthid = 1
select @date = '20140101'
declare @table table (
MonthID int null,
MonthName varchar (10) null
);
while (@rownum > 0)
begin
insert into @table values (@monthid , datename(month,dateadd(month,@monthid-1,@date)))
select @monthid = @monthid + 1
select @rownum = @rownum - 1
end
解決方案很可能取決於您正在使用的**具體數據庫**系統; SQL只是查詢語言,而不是數據庫系統。請添加你正在使用的標籤作爲你的問題:'MySQL','DB2','Oracle','SQL Server','Postgres'或其他任何可能的...... –
請詳細說明.. –