猿问

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

如何用T-SQL创建函数check_pno检测员工号是否存在,若存在返回1,否则返回-1;调用该函数,若返回1,向salary表中插入一条记录(员工表person,员工号pno)?

慕无忌1623718
浏览 199回答 2
2回答

ABOUTYOU

按我的思路做的,没具体测试,CREATE FUNCTION check_pno (@pno varchar(20))RETURNS intASBEGINDECLARE @ISid intIF (EXISTS (SELECT * FROM 员工表 WHERE pno = @pno)) beginset @ISid=1endelsebeginSET @ISid=-1endRETURN(@ISid)END --具体查询语句,调用该函数,若返回1,向salary表中插入一条记录(员工表person,员工号pno)declare isid intselect isid=check_pno('00001')if (isid=1)begininsert into salary (person,pno) values ('00001','张三')end

墨色风雨

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

相关分类

SQL Server
我要回答