資料庫類筆試題目具體如下:
有兩個表,例如
PRODUCT表
ID --產品id(主鍵,自增長) int
PRODUCTNAME --產品名稱 nvarchar(200)
PRODUCTCOUNT --產品數量 int
USERNAME --使用者名稱(與表USERS中的username關聯)nvarchar(200)
USERS表
ID --使用者id(主鍵,自增長)int
USERNAME --使用者名稱 nvarchar(200)
1.問題很簡單,分別寫出兩個表的增刪改語句(t-sql)
我不明白的是產品表和使用者表的欄位有關聯,那向產品表插入記錄(USERNAME)怎麼確定是否已存在於USERS表中?
如果有答案請寫出來或傳送到下面的郵箱
2.3.查詢,都很簡單
4.儲存過程:向產品表中插入一條記錄並返回他的ID
我的問題是如何返回這個ID,有函式的.儘量說明一下這個函式的功能,對資料庫函式知之甚少.
1.增加刪除
因為兩個表的USERNAME欄位是應該是設定了外來鍵關聯,這樣不僅結構清晰,而且還確保了資料的完整性。看題目的意思是USERS跟PRODUCT的對應關係應該是1:n,一個USERS可以生產許多個PRODUCT。
INSERT INTO PRODUCT(UCTNAME,UCTCOUNT,NAME) VALUES (char,int,char);
插入產品
INSERT INTO USERS (USERNAME) VALUES (char);
插入使用者
刪除就省略了。
至於如何確定是否存在,你直接在插入產品前搜尋USERS表就好了啊
4.儲存過程
CREATE PROC proc_AddUserAccount //定義一個過程名
@pName nvarchar(200),@pCount intAS,@pUser nvarchar(200)//3個變數
BEGIN
INSERT INTO PRODUCT(UCTNAME,UCTCOUNT,NAME) VALUES (@pName,@pCount ,@pUser);//新增記錄
RETURN @@ID //返回ID
END