cyberbobcat
cyberbobcat

Reputation: 1179

How can I change a field in a SQL server database that's set to "Read Only Cell"?

I have a SQL database that has a table with a field set to "Read Only" when I look at it through Microsoft SQL Server Management Studio Express.

I need to change some data within that field manually but I can't see any properties that I can change that will let me override this.

Will I need to write a sql script on the table to do this or is there something that I am missing ?

Upvotes: 10

Views: 43025

Answers (5)

Raymond Reddington
Raymond Reddington

Reputation: 1837

Use trigger in order to prevent this column updating:

CREATE TRIGGER UpdateRecord ON my_table
AFTER UPDATE AS UPDATE my_table
SET [CreatedDate] = ((SELECT TOP 1 [CreatedDate] FROM Deleted d where d.[id]=[id]))

Upvotes: 0

notwhereuareat
notwhereuareat

Reputation: 23

In an SQL query I had once, the query I used to generate the table to edit included a join to a table on a "Server Object", specifically a linked server. This marked the cells as read only, even though the table on which I was actually going to change the data wasn't on the linked server.

My resolution: Luckily I was able to adjust the query so I didn't need to do the JOIN with a linked table and then I could edit the cells.

Suggestion: Check your query for linked servers or other odd statements that may lock your table.

Upvotes: 0

AhammadaliPK
AhammadaliPK

Reputation: 3548

This problem will occur when you set a particular field as Primary Key and you set it into 'Is Identity' is true, that means that field will automatically incremented whenever an insertion is takes placed...So better to check whether it is auto increment or not.. If it is ,then change that property 'Is Idenitity' as false.

Upvotes: 1

Tomalak
Tomalak

Reputation: 338208

The field is most likely "read-only" because it contains a calculated value.

If that's the case, you would have to change calculation in the table definition to change it's value.

Upvotes: 2

Robin Day
Robin Day

Reputation: 102478

What is the datatype of the field? You may not be able to "type" into it if its of an ntext or image datatype and management studio can't handle the size of it.

In that case you might have no option but to perform an update as follows.

UPDATE TableName SET ColumnName = 'NewValue' WHERE PrimaryKeyId = PrimaryKeyValue

Upvotes: 7

Related Questions