Merhaba.
İkinci soru için şunu inceleyebilirsiniz.

Eğer hatası varsa bildirebilirseniz/düzeltebilirseniz sevinirim.
/*--------------------------------TABLO------------------------------------*/
CREATE TABLE
kisiler2
(
id INT PRIMARY KEY NOT NULL IDENTITY(1,1),
adi NVARCHAR(50),
soyadi NVARCHAR(50),
teslim_tarihi DATE
)

INSERT INTO kisiler2(adi,soyadi,teslim_tarihi) VALUES ('Ali','Veli','10.06.2014')
INSERT INTO kisiler2(adi,soyadi,teslim_tarihi) VALUES ('Aslı','Kaslı','11.06.2014')
INSERT INTO kisiler2(adi,soyadi,teslim_tarihi) VALUES ('Aslan','Kaplan','06.06.2014')
INSERT INTO kisiler2(adi,soyadi,teslim_tarihi) VALUES ('Kedi','Pisi','08.06.2014')
INSERT INTO kisiler2(adi,soyadi,teslim_tarihi) VALUES ('Rıza','Baba','04.06.2014')
/*--------------------------------TABLO------------------------------------*/

/*--------------------------------PROCEDURE------------------------------------*/
CREATE PROC
incele
(
@tarih as DATE
)
WITH RECOMPILE
AS
IF EXISTS(SELECT * FROM kisiler2 WHERE teslim_tarihi>=@tarih)
AND
(@tarih <= (SELECT CONVERT(DATETIME, CONVERT(VARCHAR, GETDATE(), 101))))
BEGIN
SELECT * FROM kisiler2 WHERE teslim_tarihi<=@tarih
END
ELSE
BEGIN
PRINT('UYARI! Hatalı parametre girişi. -www.tportal.org ')
END

EXEC incele '06.06.2014'
/*--------------------------------PROCEDURE------------------------------------*/