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