20.07.2013 Views

Beginning SQL

Beginning SQL

Beginning SQL

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Chapter 4<br />

146<br />

Remember, IBM DB2 doesn’t support adding NOT NULL after the table has been created, so you have to<br />

go the long-winded route of copying the data to a temporary table, dropping the MemberDetails table,<br />

and then re-creating it with the NOT NULL constraint, as shown in the following code:<br />

CREATE TABLE TempMemberDetails<br />

(<br />

MemberId integer,<br />

FirstName vargraphic(50),<br />

LastName vargraphic(50),<br />

DateOfBirth date,<br />

Street varchar(100),<br />

City varchar(75),<br />

State varchar(75),<br />

ZipCode varchar(12),<br />

Email varchar(200),<br />

DateOfJoining date<br />

);<br />

INSERT INTO TempMemberDetails<br />

SELECT * FROM MemberDetails;<br />

DROP TABLE MemberDetails;<br />

CREATE TABLE MemberDetails<br />

(<br />

MemberId integer NOT NULL,<br />

FirstName vargraphic(50),<br />

LastName vargraphic(50),<br />

DateOfBirth date,<br />

Street varchar(100),<br />

City varchar(75),<br />

State varchar(75),<br />

ZipCode varchar(12),<br />

Email varchar(200),<br />

DateOfJoining date<br />

);<br />

INSERT INTO MemberDetails<br />

SELECT * FROM TempMemberDetails;<br />

DROP TABLE TempMemberDetails;<br />

Having added the NOT NULL constraint, via whichever means your database system requires, now execute<br />

the following code, which adds the actual PRIMARY KEY:<br />

ALTER TABLE MemberDetails<br />

ADD CONSTRAINT memberdetails_pk PRIMARY KEY (MemberId);

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!