我不断收到以下错误:
消息 547,级别 16,状态 0,过程 add_new_customer,第 6 行
INSERT 语句与 CHECK 约束“CK__customer__addres__09A971A2”冲突。冲突发生在数据库“AIT 732 - 银行”、表“dbo.customer”、列“address_state”中。
以下是我尝试更新的表格:
create table customer
(
cust_id numeric(10,0) not null identity primary key,
social_security_num numeric(9,0) not null,
first_name varchar(20) not null,
last_name varchar(20) not null,
primary_address varchar(50) not null,
address_zip_code numeric(5,0) not null,
address_state char(2) check (address_state in('md','pa','dc', 'de', 'wv', 'va','nj')),
gender char(1) not null check (gender in('m','f')),
phone_num numeric(10,0) null
)
这是我创建的存储过程:
create procedure add_new_customer
(@social_sec numeric, @f_name varchar, @l_name varchar, @pri_address varchar, @zip numeric, @add_state char, @gender char, @phone numeric)
as
begin
begin transaction
insert into customer(
social_security_num,
first_name,
last_name,
primary_address,
address_zip_code,
address_state,
gender,
phone_num)
values (
@social_sec,
lower(@f_name),
lower(@l_name),
lower(@pri_address),
@zip,
lower(@add_state),
lower(@gender),
@phone)
if @@ERROR != 0
begin
rollback transaction
return @@error
end
commit transaction
end
最后但并非最不重要的是,这就是我调用程序的方式
add_new_customer 211118888, 'Bob', 'JONES', '222 some st', 21333, 'md', 'm', 4102227878
我已经搞砸了大约一个小时,无法弄清楚这个错误来自哪里。任何帮助,将不胜感激。