Skip to main content

Add column to mid of table

In sql Server you cant add a column to mid of a table .If you add a new column to existing table then it will append end of the table. But in case of adding a column to to mid of the table you can do it like as follows;
  • Create a new table with the required columns,
  • Copy the data from the old table into the new table
  • Delete the old table
  • Then rename the new table.
Sample Code
---Old table
Create Table A
(col1 varchar(50) null,
col2 varchar(50) null)

--Add new column col3
Begin Transaction

Create Table B
(
col1 varchar(50) null,
col3 varchar(50) null, -- NEW COLUMN IN MIDDLE (NULLABLE)
col2 varchar(50) null
)
go
if exists(select * from A)
exec('insert into B (col1, col2)
select col1, col2 from A with (holdlock tablockx)')
go
drop table A
go
execute sp_rename 'B', 'A', 'object'
go

commit


Comments

Popular posts from this blog

MySQL Stored Procedure Error

In our project we had many many stored procedures and many parameters passes to those sps. But in only one sp it gives error message something like this; "Incorrect number of arguments for PROCEDURE sproc_t_l_Contract_Select_BySearchCriteria; expected 3, got 2” Work long time on this sp but coudnt find it. So i tried to write it again from the begining. In this time it was work perfectly.This problem occurs because of the space between data type and its length. Ex. pName varchar(50) - working pName varchar (50) - Not working But it does not mention syntax error or something.So this error message make us vulnerable.

The transaction is in doubt

Sometimes you may get this error when you use transaction scope . The transaction is in doubt I also got this error recently and able to find the reason for it. That is because of the some of the readers had not properly disposed. Actually in this case you can use Using keyword to overcome this. Exception : System.Transactions.TransactionInDoubtException was unhandled by user code Message="The transaction is in doubt." Solution : using (reader) { }

Appreciation

Today I got this touching email: One young academically excellent person went to apply for a managerial position in a big company. He passed the first interview, the director did the last interview, made the last decision. The director discovered from the CV,  that the youth's academic result is excellent all the way, from the secondary school until the postgraduate research, never has a year he did not score. The director asked, "Did you obtain any scholarship in school?" and the youth answered "none". The director asked, " Is it your father pay for your school fees?" the youth answered, my father passed away when I was one year old, it is my mother who paid for my school fees. The director asked, " Where did your mother worked?" the youth answered, my mother worked as cloth cleaner. The director requested the youth to show his hand, the youth showed a pair of hand that is smooth and perfect to the ...