sql不允许更改
⑴ sql数据库中一般不允许更改主码数据。如果一定要更改主码数据时,怎么实现
首先我不是很清楚你说的“主码数据”是什么?我想应该是“主键”吧。
如果是的话,要想改也很简单,只要在每次修改的时候检查一下改过之后的数据在数据库存中是否存在。SQL: SELECT * FROM 表名 WHERE 主键 = 更改过后的值。
⑵ 为什么SQL数据库一旦建立后名字不能改
怎么不能改呢 用sp_renamedb
sp_renamedb
更改数据库的名称。
语法
sp_renamedb [ @dbname = ] 'old_name' ,
[ @newname = ] 'new_name'
参数
[@dbname =] 'old_name'
是数据库的当前名称。old_name 为 sysname 类型,无默认值。
[@newname =] 'new_name'
是数据库的新名称。new_name 必须遵循标识符规则。new_name 为 sysname 类型,无默认值。
返回代码值
0(成功)或非零数字(失败)
权限
只有 sysadmin 和 dbcreator 固定服务器角色的成员才能执行 sp_renamedb。
示例
下例将数据库 accounting 改名为 financial。
EXEC sp_renamedb 'accounting', 'financial'
⑶ 如果更改 Sql Server 2008 表字段 不让更改怎么办
如果更改SqlServer2008表字段不让更改可以修改: 启动MSSQL SERVER 2008,选择菜单
工具-
〉选项-〉左侧designers里有个 设计器-〉
表设计器和数据库设计器。然后去掉“ 阻止保存要求重新创建表的更改”前面的勾。
重新启动MSSQL SERVER 2008即可。
⑷ SQL数据库中的函数 如何不让用户查询或修改代码
可按如下方法查询,以sqlserver2008为例:
1、登录SQL Server Management Studio。
2、展开左边的树,先在数据库中找到自己创建自定义函数的库,如数据库-系统数据库-master。
⑸ SQL数据库问题,为什么不能修改数据了
有外键关联,关联表里有数据,所以不能修改。把关联数据删掉就好了,有必要可以在删除前备份。
⑹ sql里为什么不能更改
数据库设置里面。你修改下属性。
找到去掉此提示的一个方法,打开SQL 2008 在最上面 工具-〉选项-〉左侧的 Designer-〉表设计器和数据库设计器 -> 阻止保存要求重新创建表的更改(右侧)把钩去掉即可。
⑺ SQL数据库中一个表突然不能修改和插入,怎么解决
以前我也有这种情况,
可能是由于物理性删除数据造成的。
可以重启试试
如果不行,可能是数据库不稳定造成的,一般
轻量级
数据库有这种问题,希望你时常做备份。
⑻ sql 如何让某列不能随便修改
在《sql server 2005从入门到精通》介绍了一种很好的方法,即提供对列的单独访问。
首先要知道数据库用户名,
USE 数据库名;
GO
GRANT SELECT(列名,列名)
ON 数据库名.表名
TO 用户名
取消权限时,使用REVOKE SELECT(......
也可以添加UPDATE,DELETE权限,只要授权时加上就行:GRANT SELECT,UPDATE.....
希望对你有帮助。
⑼ sql如何设置某一列的值为默认值且不可更改
default默认值的话,建立表的时候创建就可以,让某一列不可被更改需要用触发器。
创建表:
createtabletest
(idint,
委托日期datetimedefaultgetdate());--创建test表,其中委托日期字段默认值为系统当
前时间
创建触发器:
createtriggeraaaontest--aaa为触发器名称
forupdate
as
ifupdate(委托日期)
rollbacktransaction
测试:
1、
test表中插入数据:
insertintotest(id)values(1)
此时表中数据如下:
这样也就做到了,那列不允许更改
⑽ SQL触发器不允许修改某一列数据
createtriggeraaaon[sys]
forupdate
as
--username列修改且存在sys_id='A'就回滚
ifupdate(username)AndExists(Select*Frominsertedwheresys_id='A')
rollbacktransaction