Wykonuje swój pierwszy projekt sql i proszę o zrozumienie. Pytania mogą być przeróżne a oto pierwsze z nich.
Mam procedurę (wykorzystująca kursor), która pokazuje np. 10 najnowszych albumów. Procedura raczej działa poprawnie i wygląda tak:
--Procedura (wykorzystująca kursor) wyświetlająca x najnowszych albumów
--(x jest parametrem wejściowym, domyślnie = 5)
create procedure x_najnowszych
@x int = 5
as
begin
declare @id_alb int,
@tytul STRING,
@rok_wyd date,
@licznik int
set @licznik = 0
declare najnowsze_albumy cursor for
select id_albumu, tytul, rok_wydania from album a order by a.rok_wydania desc
print 'LP' + char(9) + 'ID_ALB' + char(9) + char(9) + 'TYTUL' + char(9) + char(9) + char(9) + char(9) + char(9) + char(9) + 'ROK WYDANIA'
print '--------------------------------------------------------------------'
open najnowsze_albumy
fetch next from najnowsze_albumy into @id_alb, @tytul, @rok_wyd
while @@FETCH_STATUS = 0 and @licznik < @x
begin
set @licznik = @licznik + 1
print cast(@licznik as varchar) + char(9) + cast(@id_alb as varchar) + char(9) + char(9) + char(9) + cast(@tytul as varchar) + char(9) + char(9) + char(9) + char(9) + char(9) + char(9) + cast(@rok_wyd as varchar)
fetch next from najnowsze_albumy into @id_alb, @tytul, @rok_wyd
end
close najnowsze_albumy
deallocate najnowsze_albumy
end
drop procedure x_najnowszych
execute x_najnowszych
execute x_najnowszych 2
execute x_najnowszych 10
Jednak nie zadowala mnie wygląd wynikowy(sami zobaczcie):
Jak zrobić aby te daty były równo w każdym wierszu?