Hi, I'm a newbie at this but how can I populate a table with data from other tables by using INSERT statements? Below is of what I have so far, I have to populate the PERSON_PROFILE table. I've tried using INSERT with SELECT and UPDATE commands which just dont work. I cant input data in one column at a time either since when I created the table, I specified all fields to be NOT NULL.
CREATE TABLE PERSON ( */this table was originally created in assignment 1*/
Person_Id int NOT NULL,
First_Name varchar(20) NOT NULL,
Last_Name varchar(20) NOT NULL,
Middle_Name_Ini tial char(1) NULL,
Date_Of_Birth DateTime NOT NULL,
Employment_Stat us char(1) NOT NULL,
CONSTRAINT ck_employmentSt ats
CHECK(Employmen t_Status IN ('F', 'P')),
CONSTRAINT pk_person
PRIMARY KEY (Person_Id),
);
/*current assignment*/
CREATE TABLE BADGE (
Badge_Number_Id int NOT NULL,
Issuer_Person int NOT NULL,
Assigned_Person int NOT NULL,
Date_Issued DateTime NOT NULL,
CONSTRAINT pk_badge_number _id
PRIMARY KEY(Badge_Numbe r_Id),
);
BULK INSERT DB2914.dbo.[BADGE]
FROM 'C:\Documents and Settings\Jthep\ My Documents\SQL Server Management Studio\Projects \S2914-HW1\BadgeData.t xt'
WITH (FIELDTERMINATO R = ',', ROWTERMINATOR = '\n')
ALTER TABLE PERSON
ADD Badge_Number int;
UPDATE PERSON
SET Badge_Number = (SELECT Badge_Number_Id
FROM BADGE
WHERE Assigned_Person = Person_Id);
ALTER TABLE BADGE
DROP COLUMN Assigned_Person ;
ALTER TABLE PERSON
ADD CONSTRAINT fk_badge_number _id
FOREIGN KEY (Badge_Number) REFERENCES BADGE(Badge_Num ber_Id);
CREATE TABLE PROFILE (
Profile_Code varchar(4) NOT NULL,
Profile_Descrip tion varchar(100) NOT NULL,
CONSTRAINT ck_profile_code
CHECK(Profile_C ode IN ('Scty', 'Eval')),
CONSTRAINT pk_profile_code
PRIMARY KEY (Profile_Code),
);
CREATE TABLE PERSON_PROFILE (
Person_Profile_ Code varchar (4) NOT NULL,
Person_Profile_ Id int NOT NULL,
Profile_Assign_ Date DateTime NOT NULL,
CONSTRAINT pk_person_profi le
PRIMARY KEY(Person_Prof ile_Code, Person_Profile_ Id),
CONSTRAINT fk_person_profi le_code
FOREIGN KEY (Person_Profile _Code) REFERENCES PROFILE (Profile_Code),
CONSTRAINT fk_person_profi le_id
FOREIGN KEY (Person_Profile _Id) REFERENCES PERSON (Person_Id),
);
INSERT INTO PROFILE
VALUES('Scty', 'A person authorized to issue organization badges');
INSERT INTO PROFILE
VALUES('Eval', 'A person authorized to perform evaluations');
CREATE TABLE PERSON ( */this table was originally created in assignment 1*/
Person_Id int NOT NULL,
First_Name varchar(20) NOT NULL,
Last_Name varchar(20) NOT NULL,
Middle_Name_Ini tial char(1) NULL,
Date_Of_Birth DateTime NOT NULL,
Employment_Stat us char(1) NOT NULL,
CONSTRAINT ck_employmentSt ats
CHECK(Employmen t_Status IN ('F', 'P')),
CONSTRAINT pk_person
PRIMARY KEY (Person_Id),
);
/*current assignment*/
CREATE TABLE BADGE (
Badge_Number_Id int NOT NULL,
Issuer_Person int NOT NULL,
Assigned_Person int NOT NULL,
Date_Issued DateTime NOT NULL,
CONSTRAINT pk_badge_number _id
PRIMARY KEY(Badge_Numbe r_Id),
);
BULK INSERT DB2914.dbo.[BADGE]
FROM 'C:\Documents and Settings\Jthep\ My Documents\SQL Server Management Studio\Projects \S2914-HW1\BadgeData.t xt'
WITH (FIELDTERMINATO R = ',', ROWTERMINATOR = '\n')
ALTER TABLE PERSON
ADD Badge_Number int;
UPDATE PERSON
SET Badge_Number = (SELECT Badge_Number_Id
FROM BADGE
WHERE Assigned_Person = Person_Id);
ALTER TABLE BADGE
DROP COLUMN Assigned_Person ;
ALTER TABLE PERSON
ADD CONSTRAINT fk_badge_number _id
FOREIGN KEY (Badge_Number) REFERENCES BADGE(Badge_Num ber_Id);
CREATE TABLE PROFILE (
Profile_Code varchar(4) NOT NULL,
Profile_Descrip tion varchar(100) NOT NULL,
CONSTRAINT ck_profile_code
CHECK(Profile_C ode IN ('Scty', 'Eval')),
CONSTRAINT pk_profile_code
PRIMARY KEY (Profile_Code),
);
CREATE TABLE PERSON_PROFILE (
Person_Profile_ Code varchar (4) NOT NULL,
Person_Profile_ Id int NOT NULL,
Profile_Assign_ Date DateTime NOT NULL,
CONSTRAINT pk_person_profi le
PRIMARY KEY(Person_Prof ile_Code, Person_Profile_ Id),
CONSTRAINT fk_person_profi le_code
FOREIGN KEY (Person_Profile _Code) REFERENCES PROFILE (Profile_Code),
CONSTRAINT fk_person_profi le_id
FOREIGN KEY (Person_Profile _Id) REFERENCES PERSON (Person_Id),
);
INSERT INTO PROFILE
VALUES('Scty', 'A person authorized to issue organization badges');
INSERT INTO PROFILE
VALUES('Eval', 'A person authorized to perform evaluations');
Comment