hi
ich schreibe ein delphiprogramm das folgende storedprocedure verwendet:
SQL-Code:
ALTER PROCEDURE [dbo].[p_bb_ignore_folder]
@username varchar(30),
@ignore_dir varchar(255),
@date_time datetime
AS
DECLARE
@size bigint,
@id_user int
SET @size = -1;
SET @id_user = (SELECT [t_bb_user].[id_user] FROM [t_bb_user] WHERE [t_bb_user].[username] = @username);
SET @size = ( SELECT SUM([t_bb_folder_info].[folder_size]) FROM [t_bb_folder_info]
WHERE (
([t_bb_folder_info].[folder] LIKE @ignore_dir+'%')
AND ([t_bb_folder_info].[id_user] = @id_user)
AND ([t_bb_folder_info].[date_time] = @date_time)
)
);
UPDATE t_bb_logon
SET
[t_bb_logon].[ignore_dir_size] = @size
WHERE (
([t_bb_logon].[id_user] = @id_user)
/*AND ([t_bb_logon].[date_time] = @date_time)*/
);
das Problem liegt in dieser Zeile (in der ersten WHERE Klausel):
AND ([t_bb_folder_info].[date_time] = @date_time)
also obwohl in der tabelle mehrere Einträge vorhanden sind die dieser Bedinung entspechen, meint
sql das es eben nicht so ist...
lasse ich die Zeile weg oder kommentiere ich sie aus, passiert was passieren soll..
kann ich das:
AND ([t_bb_folder_info].[date_time] = @date_time)
grundsätzlich nicht so machen?
ich will die bedingung , dass nur die "folder_size" zusammengezählt werden, die im feld "date_time" = "@date_time" haben...
is schwierig zu erklären, kommt ihr da mit, oder hab ich nur stuss erzählt? wäre um jede Hilfe froh, bin schon seit drei Tagen an dieser Procedure und kreigs einfach nicht hin...
Danke schon mal...