sql server
-
אני מנסה לכתוב פרוצדורה שמכניסה נתונים ל2 טבלאות
כאשר בכל טבלה יש ID .
הטבלה השניה מקבלת מהראשונה את הID- מפתח של הראשון ומכניסה אותו כאחד מהנתונים
ואת הID -מפתח של הטבלה השניה אני רוצה להחזיר בכל קריאה לפרוצדורה
זה מה שכתבתי וזה מחזיר לי -1
מה הבעיה .?ALTER PROCEDURE [dbo].[INSERT_DOC] -- Add the parameters for the stored procedure here @docName nvarchar(50) = 0, @autherName nvarchar(50) = 0, @docPath nvarchar(50) = 0, @docDate date AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; -- Insert statements for procedure here INSERT INTO AUTHER (AUTHER_NAME) VALUES (@autherName) INSERT INTO DOC (DOC_NAME,AUTHER_ID, DOC_PATH,DOC_DATE) VALUES (@docName,@@IDENTITY, @docPath, @docDate) SELECT SCOPE_IDENTITY() as D_ID END
-
@שרה-רחל אמר בsql server:
האם כשאני קוראת
AS D_ID
זה לא נקרא שאני מכנה את כל השורה SELECT SCOPE_IDENTITY()
בשם
D_ID
הטבלה עצמה מכילה את העמודה
DOC_IDזה כן, רק חשבתי שאולי זו בעיה של שמות.
- האם ההכנסה הראשונה מתבצעת כראוי?
- האם בהכנסה השנייה הערך AUTHER_ID שמוכנס ל-DOC הוא כן תקין?