I Tabelle, in der Wert meiner Datumsspalte haben auszuführen auch mit der Zeit gespeichert wirdNicht in der Lage, die gespeicherte Prozedur
wie diese 2016.06.10 14: 56: 11,000
Jetzt, während meine Ausführung SP, ich übergebe einen Parameter als Datum wie dieses exec UserReportData '06-10-2016'
, aber es zeigt keine Datensätze. Wie es 4 Datensätze in der Tabelle hat.
Warum?
UPDATE
ALTER PROCEDURE [dbo].[UserReportData]
@As_ONDATE Datetime
AS
BEGIN
DECLARE @REPORTDATE datetime
DECLARE @OPENING INT
SELECT *
INTO #temptable
FROM
(SELECT DISTINCT
a.CUser_id, b.User_Id,a.U_datetime as REPORTDATE,
b.first_name + ' ' + b.last_name AS USERNAME,
0 OPENING, 0 TOTAL_DOCUMENT, 0 INWARD, 0 FIRST_LEVEL_PROCESSING, 0 DATA_ENTRY
FROM
inward_doc_tracking_trl a, user_mst b
WHERE
a.CUser_id = b.mkey
AND a.U_datetime = CONVERT(varchar(10), @As_ONDATE, 103)) AS x
DECLARE Cur_1 CURSOR FOR
SELECT CUser_id, User_Id
FROM #temptable
OPEN Cur_1
DECLARE @CUser_id INT
DECLARE @User_Id INT
FETCH NEXT FROM Cur_1 INTO @CUser_id, @User_Id
WHILE (@@FETCH_STATUS = 0)
BEGIN
SELECT @REPORTDATE
FROM inward_doc_tracking_trl
WHERE U_datetime = CONVERT(varchar(10), @As_ONDATE, 103)
UPDATE #temptable
SET REPORTDATE = @REPORTDATE
WHERE CUser_id = @CUser_id
AND User_Id = @User_Id
FETCH NEXT FROM Cur_1 INTO @CUser_id, @User_Id
END
CLOSE Cur_1
DEALLOCATE Cur_1
SELECT *
FROM #temptable
DROP TABLE #temptable
END
Können Sie den Prozedurcode eingeben? – RubbleFord
[Schlechte Angewohnheiten zu treten: Verwenden von alten JOINs] (http://sqlblog.com/blogs/aaron_bertrand/archive/2009/10/08/bad-habits-to-kick-using-old-style-joins. aspx) - diese alte * durch Kommas getrennte Liste von Tabellen * style wurde durch die * richtige * ANSI 'JOIN'-Syntax im ANSI - ** 92 ** SQL Standard ersetzt (** vor mehr als 20 Jahren **) und seine Verwendung wird davon abgeraten –