Я хочу создать хранимую процедуру в SQL server, где я передам параметр "N type int", а затем процедура создаст таблицы умножения
допустим, N=2
ожидаемый результат
1 2 2 4 3 6 4 8 5 10 6 12 7 14 8 16 9 18 10 20
а затем в следующем столбце я хочу получить сумму обоих столбцов или n количество столбцов.
Что я уже пробовал:
ALTER procedure [dbo].[project] @N int AS BEGIN declare @tbl1 table(ID int identity(1,1), MT int ) declare @tbl2 table(ID int identity(1,1), MT int) declare @T int declare @i int, @j int set @i=1 while @i<=@N begin set @j=1 while @j<=10 begin set @T=@i*@j insert into @tbl1 values(@T) set @j=@j+1 end select *from @tbl1 set @i=@i+1 end END
приведенный выше код создает вывод умножения, но в разных таблицах, пожалуйста, предложите решение с запросом.
Siddharth_Gupta
Я думаю, что нашел способ обойти эту проблему, ниже приведен код, который я использовал:
Изменить процедуру [dbo].[проект]
@N int
АС
НАЧАТЬ
объявить @ТБЛ день (ID int удостоверение(1,1),инт х1, х2 инт, инт Х3, Х4 инт, инт Х5, Х6 инт, инт Х7, Х8 инт, инт Х9, х10 инт sumall инт)
объявите таблицу @tbl1 (ID int identity(1,1),ttl int)
declare @amount int
объявить @T int
объявить @x int, @y int
set @x=1
set @y=1
в то время как @y<=@N
начать
установить @T=@x*@y
вставьте в @tbl значения(@T, @T*2, @T*3, @T*4, @T*5, @T*6, @T*7, @T*8, @T*9, @T*10,@T+ @T*2+ @T*3+ @T*4+ @T*5+ @T*6+ @T*7+ @T*9+ @T*10)
конец
выберите *из @tbl
КОНЕЦ
//Если у кого-то есть лучшая работа, пожалуйста, поделитесь ею//
#realJSOP
Посмотрите на мое решение.