如何让T-SQL向我展示2001年和2010年之间的所有信息?这是一个程序:
CREATE PROCEDURE proc_neue_mitarbeiter_004
@Personalnummer varchar(10),
@Name varchar(30),
@Vorname varchar(30),
@Geburtsdatum date,
@Telefon varchar(30),
@Mobil varchar(30),
@Email varchar(50),
@Raum varchar(10),
@Ist_Leiter char(1),
@AbtBezeichnung varchar(30), -- hier wird dann kein Abteilungs Nummer geschrieben, sonst ein Namen von Abteilung die unter Nummer in die Tabelle "Abteilung" steht
@steuerklasse tinyint
AS
BEGIN
DECLARE @Abteilung_ID AS INT
SET @Abteilung_ID = (SELECT id
FROM Abteilung
WHERE Bezeichnung = @AbtBezeichnung) -- lokale Variable (interne)
INSERT INTO Mitarbeiter(Personalnummer, Name, Vorname, Geburtsdatum,
Telefon, Mobil, Email, Raum, Ist_Leiter,
Abteilung_ID, steuerklasse)
VALUES (@Personalnummer, @Name, @Vorname, @Geburtsdatum,
@Telefon, @Mobil, @Email, @Raum, @Ist_Leiter,
@Abteilung_ID, @steuerklasse) -- lokale Variable als ausgangspunkt
-- Man kann auch mit subselect (select spalte from table) aus anderen tabellen die werte nehmen
END
GO
EXEC proc_neue_mitarbeiter_004 '200001', 'Stark', 'Tony', '01.01.2001',
null, null, null, null, 'Y',
'Vertrieb', '1'
答案 0 :(得分:0)
您的存储过程执行INSERT操作。您正在要求进行SELECT操作。
它还不完全是您想要在2001年和2010年之间用于提取数据的字段。但是,您的查询很可能看起来像这样:
SELECT
*
FROM
Mitarbeiter
WHERE
Geburtsdatum BETWEEN '2001-01-01' AND '2010-12-31'.
您可能需要调整日期格式以适合您的区域设置,以及从您实际需要的字段中提取数据的列(我很难想象您会使用7岁的孩子)。