summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
Diffstat (limited to 'sql')
-rw-r--r--sql/functions/resume.insert_resume.sql30
-rw-r--r--sql/tables/resume.contactinfo.sql2
-rw-r--r--sql/tables/resume.resume.sql3
3 files changed, 33 insertions, 2 deletions
diff --git a/sql/functions/resume.insert_resume.sql b/sql/functions/resume.insert_resume.sql
new file mode 100644
index 0000000..eb56897
--- /dev/null
+++ b/sql/functions/resume.insert_resume.sql
@@ -0,0 +1,30 @@
+drop function resume.insert_resume (
+ p_user_id int,
+ p_name character varying
+);
+
+create or replace function resume.insert_resume (
+ p_user_id int,
+ p_name character varying
+)
+returns bigint
+as $$
+declare
+ l_id bigint;
+begin
+ insert into resume.resume (
+ user_id,
+ name
+ ) values (
+ p_user_id,
+ p_name
+ );
+
+ select id into l_id
+ from resume.resume
+ where user_id = p_user_id
+ and name = p_name;
+
+ return l_id;
+end;
+$$ language plpgsql;
diff --git a/sql/tables/resume.contactinfo.sql b/sql/tables/resume.contactinfo.sql
index 85bcd2c..47eb1c7 100644
--- a/sql/tables/resume.contactinfo.sql
+++ b/sql/tables/resume.contactinfo.sql
@@ -4,7 +4,7 @@ create table resume.contactinfo (
id serial8 primary key,
address character varying(255) not null,
city character varying(255) not null,
- state int not null references resume.states(id),
+ state_id int not null references resume.states(id),
phone character varying(255) not null,
email character varying(255) not null,
visastatus_id int not null references resume.visastatus(id)
diff --git a/sql/tables/resume.resume.sql b/sql/tables/resume.resume.sql
index 2d3c8bf..dd34db1 100644
--- a/sql/tables/resume.resume.sql
+++ b/sql/tables/resume.resume.sql
@@ -3,5 +3,6 @@ drop table resume.resume cascade;
create table resume.resume (
id serial8 primary key,
user_id int not null references auth.users(id),
- name character varying(255) not null
+ name character varying(255) not null,
+ unique (user_id, name)
);