Solved

creating a small db script (.sql file)

Posted on 2009-04-14
8
236 Views
Last Modified: 2012-05-06
how do i create this as database script .sql file. If I execute individually in query analzyer it works fine but if I execute it as bulk i get error
 ALTER TABLE [dbo].[Contacts]
   ALTER COLUMN  C_TicketFK  int  NULL
 
ALTER TABLE [dbo].[Contacts]
        ADD [Customer_ID] [int] NULL

Error
Column names in each table must be unique. Column name 'Customer_ID' in table 'dbo.Contacts' is specified more than once.
0
Comment
Question by:dotnet0824
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
8 Comments
 
LVL 4

Expert Comment

by:jason_woods
ID: 24142298
You have extra brackets around your second "int"
 ALTER TABLE [dbo].[Contacts]
   ALTER COLUMN  C_TicketFK  int  NULL
 
ALTER TABLE [dbo].[Contacts]
        ADD [Customer_ID] int NULL

Open in new window

0
 

Author Comment

by:dotnet0824
ID: 24142431
hi,
I changed it. still if u select everything and execute as bulk u get the same error . If invidual block run then there is no problem.  I want to create and place this bulk in .SQL File to be run later
0
 
LVL 4

Expert Comment

by:jason_woods
ID: 24142445
Have you tried using a semicolon ";" after each execution?
0
Moving data to the cloud? Find out if you’re ready

Before moving to the cloud, it is important to carefully define your db needs, plan for the migration & understand prod. environment. This wp explains how to define what you need from a cloud provider, plan for the migration & what putting a cloud solution into practice entails.

 

Author Comment

by:dotnet0824
ID: 24142782
same error after this  INCREASED POINTS

 ALTER TABLE [dbo].[Contacts]
   ALTER COLUMN  C_TicketFK  int  NULL
 
ALTER TABLE [dbo].[Contacts]
        ADD [Customer_ID] int NULL;
0
 
LVL 4

Assisted Solution

by:jason_woods
jason_woods earned 50 total points
ID: 24143182
You shouldn't have to declare Null and the semicolons will separate the two transactions.
ALTER TABLE dbo.Contacts
   ALTER COLUMN  C_TicketFK  int;
 
ALTER TABLE dbo.Contacts
   ADD Customer_ID int;

Open in new window

0
 
LVL 75

Accepted Solution

by:
Anthony Perkins earned 150 total points
ID: 24143782
Try it this way:

 ALTER TABLE [dbo].[Contacts]
   ALTER COLUMN  C_TicketFK  int  NULL
 
GO

ALTER TABLE [dbo].[Contacts]
        ADD [Customer_ID] int NULL;
0
 
LVL 4

Expert Comment

by:jason_woods
ID: 24143810
acperkins is right. You need the GO command in MSSQL... Here it is without brackets or nulls (smaller file I guess)
ALTER TABLE dbo.Contacts
   ALTER COLUMN  C_TicketFK  int
 
GO
 
ALTER TABLE dbo.Contacts
   ADD Customer_ID int

Open in new window

0
 
LVL 22

Expert Comment

by:8080_Diver
ID: 24144344
acperkins is right. You need the GO command in MSSQL
Kind of depends on where you are executing it.  
Putting the semicolon at the end of each SQL statement is a very good practice to get in the habit of.  
I have a couple of SQL query tools that let me run as many SQL statements as I wish without the "GO" between them.  So, one pertinent question is, "What query tool are you using?"
Another would be, "Can you provide the table design prior to the attempted execution of the statements?
If you have gotten the second (Customer_ID) statement to execute once, you may be getting a valid message telling you that you've already created the column.  On the other hand, if you are deleting the Customer_ID column just so you can try to execute these statements over and over, perhaps you shoud further explain your real purpose . . . is it to learn how to set up the ALTERTABLE command so that you can script a whole series of changes?
0

Featured Post

Free Backup Tool for VMware and Hyper-V

Restore full virtual machine or individual guest files from 19 common file systems directly from the backup file. Schedule VM backups with PowerShell scripts. Set desired time, lean back and let the script to notify you via email upon completion.  

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

The Delta outage: 650 cancelled flights, more than 1200 delayed flights, thousands of frustrated customers, tens of millions of dollars in damages – plus untold reputational damage to one of the world’s most trusted airlines. All due to a catastroph…
This article shows gives you an overview on SQL Server 2016 row level security. You will also get to know the usages of row-level-security and how it works
This video shows how to set up a shell script to accept a positional parameter when called, pass that to a SQL script, accept the output from the statement back and then manipulate it in the Shell.
Viewers will learn how to use the SELECT statement in SQL to return specific rows and columns, with various degrees of sorting and limits in place.

636 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question