为了账号安全,请及时绑定邮箱和手机立即绑定

调用该函数,若返回1,向salary表中插入一条记录(员工表person,员工号pno)

调用该函数,若返回1,向salary表中插入一条记录(员工表person,员工号pno)

慕无忌1623718 2023-04-22 18:14:39
如何用T-SQL创建函数check_pno检测员工号是否存在,若存在返回1,否则返回-1;调用该函数,若返回1,向salary表中插入一条记录(员工表person,员工号pno)?
查看完整描述

2 回答

?
ABOUTYOU

TA贡献1812条经验 获得超5个赞

按我的思路做的,没具体测试,CREATE FUNCTION check_pno (@pno varchar(20))
RETURNS int
AS
BEGIN
DECLARE @ISid int
IF (EXISTS (SELECT * FROM 员工表 WHERE pno = @pno)) 
begin
set @ISid=1
end
else
begin
SET @ISid=-1
end
RETURN(@ISid)
END --具体查询语句,调用该函数,若返回1,向salary表中插入一条记录(员工表person,员工号pno)
declare isid int
select isid=check_pno('00001')
if (isid=1)
begin
insert into salary (person,pno) values ('00001','张三')
end


查看完整回答
反对 回复 2023-04-25
?
墨色风雨

TA贡献1853条经验 获得超6个赞

/*我运行过了,没有问题,只是下面插入表时,有多少参数你自己设定*/create function check_pno(@pno char(6)) /*注意这里的@pno类型要与你员工表的pno 类型一致*/
returns integer 
as
begin
declare @num int
if exists (select pno from 员工表
where pno=@pno)
select @num=1
else
select @num=-1
return @num
enddeclare @num int
select @num=dbo.check_pno('000008')
if @num=1 insert into salary values('000008',2005,2,2399,230,12.4) 
/*我这是举例你要插入的数据,具体的你自己决定*/

查看完整回答
反对 回复 2023-04-25
  • 2 回答
  • 0 关注
  • 152 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信