テーブルを含む SQL Server データベースがありtimesheet
ます。このテーブルは、従業員のロールを格納するために使用されます。挿入を実行する前に、従業員が選択した日に既存の役割を持っていることを確認します。
既存のロールの数を返すストアド プロシージャを次に示します。
set @retVal=(select count(fk_RoleID) from dbo.TimesheetTable where
(@startdate >= CAST((
STR( YEAR( StartDate ) ) + '/' +
STR( MONTH( StartDate ) ) + '/' +
STR( DAY( StartDate ) )
)
AS DATE
))-- AND EndDate <= '2012-08-30')
and
(@enddate < CAST(
(
STR( YEAR( EndDate ) ) + '/' +
STR( MONTH( EndDate ) ) + '/' +
STR( DAY( EndDate ) )
)
AS DATE
))
and fk_PersonnelID=@personnelID)
return @retVal
以下は、ある従業員の記録です。
pk_ID fk_PersonnelID fk_RoleID StartDate EndDate dateCreated
62 1 26 2012-10-01 2012-10-02 2012-10-25 15:55:12.940
81 1 20 2012-10-04 2012-10-06 2012-10-30 14:50:28.300
2012-10-05
開始日と終了日を挿入しようとすると2012-10-11
、クエリは .. をトラップできずstartdate
、挿入が発生します
私は何を間違っていますか?