Mam instrukcję wstawiania, jak poniżej. Jestem w stanie debugować moją procedurę przechowywaną i przechodzić przez mój kod, aby sprawdzić, czy mój kod działa, ale dzieje się coś śmiesznego.Instrukcja SQL Server Insert działa poprawnie, ale wartości nie są dodawane do tabeli, mimo że utworzono wiersz
Wartości, które należy zapisać w bazie danych, nie są zapisywane. Zamiast tego w tabeli tworzony jest wiersz, a kod RecordCreatedField
jest poprawnie utworzony, nawet klucz podstawowy jest zawarty, ale kolumny, które oczekują na wstawienie, nie są. Wszystkie kolumny są nvarchar/varchar
, z wyjątkiem kolumn daty i identyfikatora, ale tylko te kolumny są wypełnione. Jednak poniższe wartości @PRCUPC, @ PRCEAN, @ PRCGTIN, @ PRCatalogNumber zostały w jakiś sposób pominięte.
EXEC spinsertprodcode
@pid out,
@ProdID,
@UPC,
@EAN,
@TIN,
@CNumber,
0,
0,
1,
@staid,
@counter out
INSERT INTO dbo.ProdCodes
(PRProductID
,PRCUPC
,PRCEAN
,PRCGTIN
,PRCatalogNumber
,PRIsReplacement
,PRIsReplaced
,PRCRecordCreatedDate
,PRCIsActive
,PRStatusFlag)
OUTPUT INSERTED.PRCID INTO @opID
VALUES
(@PRProductID,
@PRCUPC,
@PRCEAN,
@PRCGTIN,
@PRCatalogNumber,
@PRIsReplacement ,
@PRIsReplaced,
GETDATE(),
@PRCIsActive,
@PRStatusFlag)
SELECT @PRCID = O.ID FROm @opID O
Byłbym wdzięczny za wszelkie sugestie, w jaki sposób mogę to naprawić lub zrozumieć, co się dzieje.
Oto SQl skrzypce głównego przechowywanych proc, która wywołuje mój kod insert. SQL Fiddle of my code
Czy możesz umieścić kod, którego używasz do wywoływania procedury przechowywanej? Zgaduję, że parametry nie są ustawione poprawnie. – d89761
Mogę najechać kursorem na wartości, aby potwierdzić, że zostały poprawnie przekazane. I przechodzę do wywoływanego kodu do punktu wstawienia i jestem w stanie również zweryfikować, czy wartości są nawet do zainstalowania punktu. – Kobojunkie
Czy na stole jest wyzwalacz? –