level 1
才人丶louise
楼主
是这样的,想完成一个图书馆管理的课程设计,在遇到新建读者的时候想通过借书证号来创建登录名和用户,使用存储过程可以成功创建,在授权图书表查询权限时候就遇到问题了,GRANT SELECT ON 图书表 TO @借书证号 这句后面局部变量位置报错了,而且本人不会游标,想通过新建一个表名为=@借书证号的单行表,以方便用户更改密码和查询自己的信息,建表的时候表名格式也不能写局部变量,请大神提点 - -
use 图书管理系统
go
create PROC 新建读者
@借书证号 char(10),@姓名 char(20),@性别 char(2),@学历 varchar(20),@可借数量 int,@已借数量 int,@密码 varchar(30)
as
begin
if(select 借书证号 from 读者信息表 where 借书证号=@借书证号)is NULL
begin
INSERT INTO 读者信息表
values(@借书证号,@姓名,@性别,@学历,@可借数量,@已借数量,@密码,'无')
EXEC sp_addlogin @借书证号,'000000'
EXEC sp_adduser @借书证号
GRANT select on 图书表 to str(@借书证号)
--select* into str(select @借书证号 from 读者信息表) from 读者信息表 where 借书证号=@借书证号
--GRANT UPDATE(密码),select on @借书证号
print'新建读者成功!'
end
else
begin
print'借书证号重复,创建失败!'
end
end
2015年01月01日 11点01分
1
use 图书管理系统
go
create PROC 新建读者
@借书证号 char(10),@姓名 char(20),@性别 char(2),@学历 varchar(20),@可借数量 int,@已借数量 int,@密码 varchar(30)
as
begin
if(select 借书证号 from 读者信息表 where 借书证号=@借书证号)is NULL
begin
INSERT INTO 读者信息表
values(@借书证号,@姓名,@性别,@学历,@可借数量,@已借数量,@密码,'无')
EXEC sp_addlogin @借书证号,'000000'
EXEC sp_adduser @借书证号
GRANT select on 图书表 to str(@借书证号)
--select* into str(select @借书证号 from 读者信息表) from 读者信息表 where 借书证号=@借书证号
--GRANT UPDATE(密码),select on @借书证号
print'新建读者成功!'
end
else
begin
print'借书证号重复,创建失败!'
end
end