objectName 是傳進(jìn)來的參數(shù)。 this -- 是當(dāng)前類的對象。 this.objectName --是當(dāng)前 類的對象里的成員objectName this.objectName=objectName; 是賦值語句。把參數(shù)objectName字符串 傳給 this.objectName objectName -- 英文意思是“對象名
創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),獨山子企業(yè)網(wǎng)站建設(shè),獨山子品牌網(wǎng)站建設(shè),網(wǎng)站定制,獨山子網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,獨山子網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。
自己搜索一下就是了,我給你copy一段:
為了提供完善的數(shù)據(jù)庫管理機制,SQL Server 設(shè)計了嚴(yán)格的命名規(guī)則。在創(chuàng)建或引用數(shù)據(jù)庫實體,如表、索引、約束等時,必須遵守SQL Server 的命名規(guī)則,否則有可能發(fā)生一些難以預(yù)料和檢查的錯誤。
本文將講述:標(biāo)識符的分類和格式規(guī)定;數(shù)據(jù)庫對象的命名規(guī)定與使用原則。希望對您會有所幫助。
標(biāo)識符分類
SQL Server的所有對象,包括服務(wù)器、數(shù)據(jù)庫以及數(shù)據(jù)庫對象,如表、視圖、列、索引、觸發(fā)器、存儲過程、規(guī)則、默認(rèn)值和約束等都可以有一個標(biāo)識符。對絕大多數(shù)對象來說,標(biāo)識符是必不可少的,但對某些對象如約束來說,是否規(guī)定標(biāo)識符是可選的。對象的標(biāo)識符一般在創(chuàng)建對象時定義,作為引用對象的工具使用。
例如下面的SQL語句:
Create table student
(
id int primary key,
name varchar(20)
)
這個例子創(chuàng)建了一個表格,表格的名字是一個標(biāo)識符:student;表格中定義了兩列,列的名字分別是id,name,他們都是合法的標(biāo)識符。這個例子還定義另外一個未命名的主鍵約束。
SQL Server一共定義了兩種類型的標(biāo)識符:規(guī)則標(biāo)識符(Regular identifier)和界定標(biāo)識符(Delimited identifier)。
規(guī)則標(biāo)識符
規(guī)則標(biāo)識符嚴(yán)格遵守標(biāo)識符有關(guān)格式的規(guī)定。所以在T-SQL語句中凡是規(guī)則標(biāo)識符都不必使用界定符,如[]和‘’,來進(jìn)行界定。
如上述例子中使用的表名student 就是一個規(guī)則標(biāo)識符,在student上不必添加界定符。
界定標(biāo)識符
界定標(biāo)識符是那些使用了如[]和‘’等界定符號來進(jìn)行位置限定的標(biāo)識符,使用了界定標(biāo)識符,既可以遵守標(biāo)識符命名規(guī)則,也可以不遵守標(biāo)識符命名規(guī)則。
Select * from [student] 是要從student 表格中查詢出所有的數(shù)據(jù)與
Select * from student 等效。
為什么呢?因為在“[]”中的標(biāo)識符遵守標(biāo)識符命名規(guī)則,“[]”被忽略不計。
但如果是不遵守標(biāo)識符命名規(guī)則的標(biāo)識符,那么在T-SQL語句中必須使用界定符號加以限定,如:
Select * from [my table]
Where [order]=10
在這個例子中,必須使用界定標(biāo)識符,因為在from子句中的標(biāo)識符my talbe中含有空格,而where子句中的標(biāo)識符order 是系統(tǒng)保留字(在查詢分析器里“order”變藍(lán)色)。這兩個標(biāo)識符都不遵守標(biāo)識符命名規(guī)則,必須使用界定符,否則無法通過代碼編譯。
標(biāo)識符格式
標(biāo)識符格式的規(guī)定,其具體內(nèi)容如下:
標(biāo)識符的首字母必須是以下兩種情況之一:
所有在統(tǒng)一碼(Unicode)2.0標(biāo)準(zhǔn)規(guī)定的字符,包括26個英文字母a-z和A-Z,以及其他一些語言字符,如漢字。例如可以給一個表格命名為“學(xué)生基本情況”。下劃線“-”、“@”或“#”。
標(biāo)識符首字母后的字符可以是:
所有在統(tǒng)一碼(Unicode)2.0標(biāo)準(zhǔn)規(guī)定的字符,包括26個英文字母a-z和A-Z,以及其他一些語言字符,如漢字。下劃線“-”、“@”、“$”或“#”。
0,1,2,3,4,5,6,7,8,9。
標(biāo)識符不允許是T-SQL的保留字。
由于T-SQL不區(qū)分大小寫,所以無論是保留字的大寫還是小寫都不允許使用。
標(biāo)識符內(nèi)部不允許有空格或特殊字符。
Select * from stu[de]nt –編譯器將返回錯誤信息。因為在標(biāo)識符stu[de]nt中包含了特殊字符“[”和“]”,所以在編譯上述語句時出錯。
?
以某些特殊符號開頭的標(biāo)識符在SQL Server系統(tǒng)中具有特定的含義。如“@”開頭的標(biāo)識符表示這是一個局部變量或是一個函數(shù)的參數(shù);以“#”開頭的標(biāo)識符表示這是一個臨時表或存儲過程;一個以“##”開頭的標(biāo)識符表示這是一個全局的臨時數(shù)據(jù)庫對象。T-SQL的全局變量以標(biāo)志“@@”開頭。為避免同這些全局變量混淆,建議不要使用“@@”作為標(biāo)識符的開始。
無論是界定標(biāo)識符還是規(guī)則標(biāo)識符都最多只能容納128個字符,對于本地的臨時表最多可以有116個字符。
對象命名規(guī)則
SQL Server 2000 的數(shù)據(jù)庫對象名字由1-128個字符組成,不區(qū)分大小寫。在一個數(shù)據(jù)庫中創(chuàng)建了一個數(shù)據(jù)庫對象后,數(shù)據(jù)庫對象的全名應(yīng)該由服務(wù)器名、數(shù)據(jù)庫名、擁有者名和對象名這四個部分組成,格式如下:
[[[server.][database].][owner_name].]object_name 命名必須都要符合標(biāo)識符的規(guī)定。
在實際引用對象時,可以省略其中某部分的名稱,只留下空白的位置。
實例的命名習(xí)慣
在SQL Server 2000中默認(rèn)實例的名字采用計算機名,實例的名字一般由計算機名字和實例名字兩部分組成。
總之,正確掌握數(shù)據(jù)庫的命名和引用方式是用好SQL Server 2000的前提,也有助于用戶理解SQL Server 2000中的其他內(nèi)容。
原因一:新建的數(shù)據(jù)庫,沒有將初始數(shù)據(jù)導(dǎo)入到新庫里。
解決方法:
請登錄到我司數(shù)據(jù)庫控制面板-備份還原系統(tǒng),然后使用數(shù)據(jù)庫還原的功能,在那里直接將您的數(shù)據(jù)庫備份上傳還原,如果操作過程沒有出現(xiàn)錯誤,一般您的數(shù)據(jù)庫就已經(jīng)還原了,此方法適合還原一些初始數(shù)據(jù)不是很大的數(shù)據(jù)庫(30M以內(nèi)),如果您的數(shù)據(jù)庫初始數(shù)據(jù)很大,在線上傳還原的成功率比較低,這時請使用數(shù)據(jù)庫導(dǎo)入導(dǎo)出的方法進(jìn)行還原,詳細(xì)的導(dǎo)入導(dǎo)出方法請查看我司的另一篇幫助文檔?數(shù)據(jù)庫導(dǎo)入導(dǎo)出方法詳解
原因二:數(shù)據(jù)庫做過遷移,新數(shù)據(jù)庫的對象所有者名稱不同造成
數(shù)據(jù)庫做了遷移后,一般會進(jìn)行導(dǎo)入/還原數(shù)據(jù)的過程,在這個過程中,要注意新數(shù)據(jù)庫的完整對象名與原來是一致的。
比如,您的舊數(shù)據(jù)庫名叫 db1 , 舊數(shù)據(jù)庫用戶是 dbuser1, 現(xiàn)在要遷移到新的數(shù)據(jù)庫上,新數(shù)據(jù)庫名是 db2, 新數(shù)據(jù)庫用戶是 dbuser2。
sqlserver對象的完整對象名是?數(shù)據(jù)庫名.用戶名.表名?這樣的,假設(shè)你的舊數(shù)據(jù)庫上有個表名叫 table1,那它的完整對象名就是 db1.dbuser1.table1,
當(dāng)你用新的數(shù)據(jù)庫名登錄導(dǎo)入舊數(shù)據(jù)時,新的表名可能變成了 db2.dbuser2.table1,這樣的話,您的程序查詢數(shù)據(jù)時可能會出現(xiàn)對象名無效的錯誤。
解決方法:要解決這個問題,一般需要做兩步操作:
1. 請分別使用?sp_changeobjectowner '這里改為數(shù)據(jù)庫完整對象名','dbo' 這個命令將所有的用戶表,用戶視圖,用戶存儲過程等的所有者全部改為系統(tǒng)內(nèi)建的特殊用戶dbo
以下是一個可以簡化執(zhí)行上面操作的存儲過程,以下存儲過程運行后可能還會有部分的對象改不到所有者,這時請手動執(zhí)行上面的命令將未能改所有者的對象重新嘗試一下。
declare @CrsrVar cursor
declare @pname? varchar(40) --對象名
declare @oldowner varchar(40) --原對象所有者
declare @objfullname varchar(80) --原對象全名
set @oldowner = '這里改為數(shù)據(jù)表/視圖/存儲過程等的舊所有者名稱'
set?? @CrsrVar = Cursor For select name from sysobjects where xtype='U' --xtype=U 表示用戶表
open? @CrsrVar
fetch next from @CrsrVar into @pname
while(@@fetch_status=0)
begin
set @objfullname? = @oldowner + '.' + @pname
exec sp_changeobjectowner @objname=@objfullname,@newowner='dbo'? --dbo為所有者名
fetch next from @CrsrVar into @pname
end
close?? @CrsrVar
deallocate?? @CrsrVar
2. 可能您的編寫網(wǎng)站程序的時候沒有注意通用性,在查詢數(shù)據(jù)時采用了類似?select * from dbuser1.table1?這樣的SQL語句,一般來說,這不是一個好的習(xí)慣,在這種情況下,如果數(shù)據(jù)庫遷移過的話,經(jīng)常會導(dǎo)致對象名無效的錯誤,為了避免這種不必要的問題,建議您在程序中查詢數(shù)據(jù)時,直接用?select * from table1?這樣的方式,就是在程序中不在用對象的完整名稱,而是單使用表名或視圖名,這樣就可以避免不必要的“對象名無效”的問題。
java中連接數(shù)據(jù)庫,數(shù)據(jù)庫連接字符串不是可以指定數(shù)據(jù)庫名么,指定了應(yīng)該就沒問題了。
String Driver="com.microsoft.sqlserver.jdbc.SQLServerDriver"; //連接SQL數(shù)據(jù)庫的方法
String URL="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=db_name";? ? //db_name為數(shù)據(jù)庫名
String Username="username"; //用戶?
String Password="password"; //密碼
Class.forName(Driver).new Instance(); //加載數(shù)據(jù)可驅(qū)動
Connection con=DriverManager.getConnection(URL,UserName,Password);
擴展資料:
SQL具有數(shù)據(jù)定義、數(shù)據(jù)操縱和數(shù)據(jù)控制的功能。
1、SQL數(shù)據(jù)定義功能:能夠定義數(shù)據(jù)庫的三級模式結(jié)構(gòu),即外模式、全局模式和內(nèi)模式結(jié)構(gòu)。在SQL中,外模式又叫做視圖(View),全局模式簡稱模式( Schema),內(nèi)模式由系統(tǒng)根據(jù)數(shù)據(jù)庫模式自動實現(xiàn),一般無需用戶過問。
2、SQL數(shù)據(jù)操縱功能:包括對基本表和視圖的數(shù)據(jù)插入、刪除和修改,特別是具有很強的數(shù)據(jù)查詢功能。
3、SQL的數(shù)據(jù)控制功能:主要是對用戶的訪問權(quán)限加以控制,以保證系統(tǒng)的安全性。
參考資料來源:百度百科-結(jié)構(gòu)化查詢語言