① 一條sql語句為什麼在伺服器上不能正確執行
1、程序提供了SQL資料庫格式:有一個MDF文件,或者提供了創建SQL資料庫的SQL腳本文件(後綴名為.sql)。
2、更多的是沒有提供SQL資料庫或腳本文件的,這時,就要自己來做這一切了,這也是我們這個帖子主要解決的問題。
② SQL添加約束出錯
你的【手機號碼】欄位中有不符合【你建的約束的數據】,把這樣的數據刪掉再建就可以了,為了方便起見。
1、先把數據轉存到另外一個表中:
select * into tmp from 號碼紀錄;
2、刪除原表數據
truncte table 號碼紀錄;
3、增加check約束
alter table 號碼紀錄 add constraint ck_手機號碼 check(手機號碼 like'[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]');
4、把符合條件的數據導回
insert into 號碼紀錄 select * from tmp where tmp.手機號碼 like '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]';
5、刪除臨時表
drop table tmp;
---
以上,希望對你有所幫助。
③ sql資料庫中的約束語句的格式
一般來說,
約束語句的格式
就是
在欄位後加
CONSTRAINT
約束名
約束
下面是一個例子,一個是非空約束,一個是
CHECK約束。
1>
CREATE
TABLE
test_create_tab4
(
2>
id
INT
PRIMARY
KEY,
3>
val
VARCHAR(10)
4>
CONSTRAINT
test_tab4_val_nn
NOT
NULL,
5>
val2
INT,
6>
CONSTRAINT
test_tab4_val2_100
CHECK(val2
>=
0
AND
val2
<=
100)
7>
);
8>
go
1>
INSERT
INTO
test_create_tab4(id,
val2)
VALUES(1,
100);
2>
GO
消息
515,級別
16,狀態
2,伺服器
HOME-BED592453C\SQLEXPRESS,第
1
行
不能將值
NULL
插入列
'val',表
'Stock.dbo.test_create_tab4';列不允許有空值。INS
ERT
失敗。
語句已終止。
1>
INSERT
INTO
test_create_tab4(id,
val,
val2)
VALUES(1,
'ERR',
1024);
2>
GO
消息
547,級別
16,狀態
1,伺服器
HOME-BED592453C\SQLEXPRESS,第
1
行
INSERT
語句與
CHECK
約束"test_tab4_val2_100"沖突。該沖突發生於資料庫"Stock",表"
dbo.test_create_tab4",
column
'val2'。
語句已終止。
④ SQL怎樣在本電腦上創建數據表,而不是在伺服器上,擴展名是什麼
要先「連接」到資料庫,然後進入資料庫後,展開相應資料庫,在「表」節點右擊選擇「新建表」。
⑤ 如何讓sql資料庫在其他伺服器上
移動到新路徑我們希望將這些資料庫文件移動到一個新路徑,鍵入新路徑就可以。本文我們移動到下面的路徑:D: SQLDATADatabase_Name_Here.mdf D:SQLLogsDatabase_Name_Here_1.ldf進度現在可以單擊確定按鈕,開始恢復資料庫。成功恢復你已經成功恢復移動完成資料庫文件。證據現在你已經成功恢復移動完成資料庫文件——更多證據。新查詢現在讓我們介紹我喜歡使用的方法,該方法省去了所有選擇和單擊。你可以使用一條TSQL Restore移動語句完成同樣的任務。使用T—SQL方法移動資料庫讓我們從打開SQL Server管理工具開始,然後單擊新查詢按鈕。邏輯名稱第一步需要運行下面的查詢:Restore FILELISTONLY FROM DISK='d:Business_Data.bak'
利用該查詢可以找到需要恢復到新路徑的資料庫和日誌文件的邏輯名稱。恢復到新路徑在獲得了邏輯名之後,我們可以使用下面的查詢將資料庫恢復到一個新位置。RESTOREDATABASEBusiness_Data_TSQLFROM DISK='d:Business_Data.bak'WITHMOVE 'Business_Data' TO 'D:TSQLBusiness_Data.mdf', MOVE 'Business_Data_log' TO 'D:TSQLBusiness_Data_log.ldf'
該語句將用來恢復資料庫到一個新路徑。完成百分比你可以看到Restore FileListOnly TSQL語句中使用的邏輯名和物理名。如果是一個較大的資料庫為了查看完成進度,還可以添加狀態語句如下所示:RESTOREDATABASEBusiness_Data_TSQLFROM DISK='d:Business_Data.bak'WITHMOVE 'Business_Data' TO 'D:TSQLBusiness_Data.mdf', MOVE 'Business_Data_log' TO 'D:TSQLBusiness_Data_log.ldf', STATS=5
⑥ 在SQL 2008上面刪除default約束,顯示該伺服器不存在DF_XS_KC_Kchengji_2B3F6F97
先用語句查看是否約束存在:
select * from sysobjects where name='DF_XS_KC_Kchengji_2B3F6F97'
或者select * from sysobjects where xtype='D' and parent_obj=object_id('表名')
⑦ 安裝SQL資料庫是出現:伺服器在此操作系統上不支持
有時候以上的安裝方法並不成功,在一些特別的GHOST版本的XP系統中,由於設置的原因會出現MSSQL2000掛起無法安裝的問題。我們又得花時間解決了,以下是其中一種解決方案:
步驟是:
1)添加/刪除程序中徹底刪除sql server。
2)將沒有刪除的sql server目錄也刪除掉。
3) 注冊表編輯器,在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager中找到PendingFileRenameOperations項目,並刪除它。這樣就可以清除安裝暫掛項目。
4) 注冊表中跟sql server相關的鍵。
其實估計只要做第3步就可以搞定,這樣就可以清除安裝暫掛項目。自己是先走了1,2,4,最後做了3才搞定。所以估計3才是最關鍵的。
(PS. 說到底之所以在MSSQL過程中有這么多麻煩,總的原因還是XP系統本身,不支持伺服器功能。正如某位高手所說:如果你真的想學點技術,就不要吝嗇你的硬碟,多裝一個系統。在windows server 和window 2000系統中,你會發現安裝過程非常地舒服~)