Hello all,
I'm taking over a project from another developer and i've run into a bit of a problem.
This developer had a bad habit of not using primary keys when designing various databases used by his programs. So now i've got approx 1000 tables all of which do not have primary keys assigned.
Does anyone know of a tsql script that i can run that will loop through each table and add a primary key field?
Thanks in advance?
Richard M.
Uma writes "Hi Dear, I have A Table , Which Primary key consists of 6 columns. total Number of Columns in the table are 16. Now i Want to Convert my Composite Primary key into simple primary key.there are already 2200 records in the table and no referential integrity (foriegn key ) exist.
may i convert Composite Primary key into simple primary key in thr table like this.
I have recently been looking at a database and wondered if anyone can tell me what the advantages are supporting a unique collumn, which can essentially be seen as the primary key, with an identity seed integer primary key.
For example:
id [unique integer auto incremented primary key - not null], ClientCode [unique index varchar - not null], name [varchar null], surname [varchar null]
isn't it just better to use ClientCode as the primary key straight of because when one references the above table, it can be done easier with the ClientCode since you dont have to do a lookup on the ClientCode everytime.
We have a table, which has one clustered index and one non clustered index(primary key). I want to drop the existing clustered index and make the primary key as clustered. Is there any easy way to do that. Will Drop_Existing support on this matter?
CREATE TABLE [dbo].[property_instance] ( [property_instance_id] [int] IDENTITY (1, 1) NOT NULL , [application_id] [int] NOT NULL , [owner_id] [nvarchar] (100) NOT NULL , [property_id] [int] NOT NULL , [owner_type_id] [int] NOT NULL , [property_value] [ntext] NOT NULL , [date_created] [datetime] NOT NULL , [date_modified] [datetime] NULL )
I have created an 'artificial' primary key, property_instance_id. The 'true' primary key is application_id, owner_id, property_id and owner_type_id
In this specific instance - property_instance_id will never be a foreign key into another table - queries will generally use application_id, owner_id, property_id and owner_type_id in the WHERE clause when searching for a particular row - Once inserted, none of the application_id, owner_id, property_id or owner_type_id columns will ever be modified
I generally like to create artificial primary keys whenever the primary key would otherwise consist of more than 2 columns.
What do people think the advantages and disadvantages of each technique are? Do you recommend I go with the existing model, or should I remove the artificial primary key column and just go with a 4 column primary key for this table?
I have a Department Table. Can any one tell me its Primary Key. I have the order AutoNumber, D + AutoNumber, Code, Can you help me regarding this. Because some people never like to use AutoNumber. That's why I am confused.
I'm going to build database of university, but I have problem with primaru key,
This is the situation:
there are many faculities and each one has many departments,
each department has many courses,
each course has many sections..
The problem:
I want to make those fields in the same table and make the primary key generate from other fields,
(i.e)
I want the faculity be integer from 4 digit "Example the first faculity start with 1000 the second 2000 and so on" and the the department of each faculity will generate its value from the faculity number+interger number from 3digit "Example the department of the first faculity start with 1100 and the second on will be 1200 and so on "
the same thing will repeate for courses and sections so the sectionsID will be the primary key.
Do you know hoew this idea can be implement by SQL server 2005?
A column will be Primary Key. Others are B and C. I want A will contain B and C. I mean B data is X, C data is Y, A will be XY. How can i do this? Can i set in MSSQL or need ASP.NET?
I'm trying to setup a Primary Key on a SQL 6.5 database.
Is there a way to do this? When I hit advanced, it asks for me to select a field for the primary key, but it doesnt list fields to selct from, and I cant type it in.
Using DTS i have imported the data from sybase to MS SQL server and all the data and tables were imported correctly.But the primary keys are not marked why is it like this? This is not a one time job and this is meant to be for the customers also.I cannot ask the customers to mark the primary keys themselves. Is there a way to get the keys also.While doing DTS I have marked all the options correctly.
I am setting up some tables where I used to have an identity column as the primary key. I changed it so the primary key is not a char field length of 20.
Is there going to be a big performance hit for this? I didn't like the identity field because every time I referenced a table I had to do a join to get the name of object.
EG:
-- Old way tbProductionLabour ID (pk)| Descr | fkCostCode ---------------------- 1 | REBAR | 1J
I need to create my own primary key, how do I go about doing that?? In the database I am working in usually has a primary key that looks like this VL0008 the V is for Vendors, thats basically their number. Some of these Vendors need to be licensed and some dont, the ones that are not licensed dont get a number but I am to use that as the Primary/Index key I need to create one for those particual vendors. How can I go about doing that??? I was wanting to make it TL888 something like that.
i'm having problem to get th primary key from d database.... for your information i'm using java to get the primary key.... this is my code... rs = stt.executeQuery("sp_columns "+table_db+";"); while(rs.next()) { out.write(""+rs.getString("COLUMN_NAME")); out.write(", "+rs.getString("TYPE_NAME")); out.write(", "+rs.getString("IS_NULLABLE")); }
but the problem is.... i get this error message...could anyone tell me what's the problem.... java.sql.SQLException: [Microsoft][ODBC SQL Server Driver][SQL Server]Could not find server 'table_db' in sysservers. Execute sp_addlinkedserver to add th e server to sysservers.
I am creating a table called Bonus: ProductHeading1 ProductHeading2 (could be null) ProductHeading3(could be null) Bonus Datefrom DateTo
.... what would be the primary key?! I know it would be DateTo and sumfing...... Since Heading2 and Heading3 could be null, they cannot be PK... and heading1 cannot be a PK because the following three DIFFERENT options could have the same heading1 Option 1) heading1 = "X" heading2 = Null heading3 = Null Option 2) heading1 = "X" heading2 = "Y" heading3 = Null Option 3) heading1 = "X" heading2 = "Y" heading3 = "Z"
... but I need a PK to make sure a bonus is not entered twice... I considered added an Id, but them how do I assign a id?! what would i make the id equal to???
In a recent course on database programming using Microsoft Access 2002. I noticed that the text entitiled New Perspectives Microsoft Access 2002 stated that a primary key could only be used once per table. But If I am not mistaken could one use the select key to select more than one primary key within a table.
Violation of PRIMARY KEY constraint 'PK_Dunning_TBL'. Cannot insert duplicate key in object 'Dunning_TBL'. The statement has been terminated.
(0 row(s) affected) Msg 2627, Level 14, State 1, Procedure GenerateFiles_FST_SP, Line 220 Violation of PRIMARY KEY constraint 'PK_Exceptions_TBL'. Cannot insert duplicate key in object 'Exceptions_TBL'. The statement has been terminated.
I am designing a database for containing the info for the employees in the institution. My dilemma: -Should I use an sql autonumber primary key? or -should I merge lastName+FirstName+middleName into one field and use this string as the primary key?
I'm new to these forums, and I'm not a database developer, per se, so please forgive me if I make any newb'ish comments.
I have a lookup table called tblCars, that has two columns, cars_id and cars_title. Typically what I do with tables like this is I make cars_id an autonumber, and cars_title the primary key.
The cars_title would contain unique data such as Ford, Chevy, Toyota, etc, which is why I like to make it the primary key (ie - guarantee that it remains unique and no duplicates are ever placed in it).
I would then create an index on cars_id so that I could use it in foreign key constraints.
However, I'm being told by a number of people that it is incorrect to make cars_title the primary key, and that the autonumber field should be the primary key. Yet I am having trouble arriving at a real good reason as to why this is the correct way to do it. I like the warm-fuzzies that I get knowing that no one can accidentally insert a duplicate car title into tblCars because of the primary key constraint.
Thanks in advance for any thoughts or insights on this.
I'm going to build database of university, but I have problem with primaru key,
This is the situation:
there are many faculities and each one has many departments,
each department has many courses,
each course has many sections..
The problem:
I want to make those fields in the same table and make the primary key generate from other fields,
(i.e)
I want the faculity be integer from 4 digit "Example the first faculity start with 1000 the second 2000 and so on" and the the department of each faculity will generate its value from the faculity number+interger number from 3digit "Example the department of the first faculity start with 1100 and the second on will be 1200 and so on "
the same thing will repeate for courses and sections so the sectionsID will be the primary key.
Do you know hoew this idea can be implement by SQL server 2005?
Hi,Can someone give me advice ( or link to a webpage ) about how can I useprimary key in my database and how can I use it for optimizing thespeed of my database.Thanks.
I need to insert a row into a table in SQL Server 2000. The primarykey for the row is an identity type, so it auto-numbers for me withoutneeding to put in the value in the insert statement.My problem, is that after i insert a row, i need to insert another rowin a different table that references the first row. To do that i needto know the primary key for the original row.How can i tell what the primary key was? In Oracle, you would checkthe sequence before the original insert. Is there a similar featurein SQL Server? And how would you use it?(I'm using C# ADO)- Paul
Hi, In sqlserver table I put the ssn+firstname+lastname combination as the primary key, due to this ssn, firstname, lastname fields are constrained as NOT NULL. I am importing from Excel to this table. In Excel file SSN contains some Nulls, firstname contain some Nulls for some records. So I am using Sort transformation to remove duplicate records and applied sort on ssn, firstname, lastname. but I am getting integrity constraint violated error in SSIS, whether it is due to when inserting Null into SSN but it is constrained as NotNull. or it check the combination of ssn,firstname, lastname? If it checks the combination of ssn,firstname,lastname all are nulls this row inserted, next if this combination agin occurs sort transformation delete them? Why I amgetting ssn violation error? Thanks
I'm trying to import a .xls file which creates a new table. I'm having some trouble adding a primary key and changing the value of the target column to NOT NULL. I've been googling for the better part of 6 hours trying to find a fix. Can anyone point me to a 'how to' on this?
Alter table UFEData ALTER COLUMN Pkey float NOT NULL
Alter table UFEData ADD PRIMARY KEY (Pkey)
Alter table UFEData ADD constraint pk_UFEData Primary Key (PKey)
I'm not sure what these things do. I've tried both and neither work. The pk_UFEData in the second group isn't explained anywhere that I can find. It looks like everyone just makes up some random name. I don't understand why or what function it does. Regardless, I've been unable to find a way to add a primary key. If anyone can point me to a resource, I would appreciate it.