数据库类笔试题目

       数据库类笔试题目具体如下:

数据库类笔试题目

   有两个表,例如

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