可能是你的路徑不對,比如你在aaa這個資料庫下面建立了p1存儲過程
但是你的sql查詢窗口是在master資料庫下進行的,這個時候你調用p1是錯誤的,因為master資料庫下沒有p1存儲過程。
Ⅱ 使用SQl創建資料庫的全過程
打開企業管理器 右鍵單擊台根目錄——新建注冊伺服器(我電腦上沒裝,記不大清楚了,大概就是這幾個字)——添加——確定之後再展開增加的節點——右鍵單擊資料庫——新建資料庫就在你注冊的伺服器上新建了一個資料庫了
Ⅲ 使用SQL語句創建存儲過程
使用SQL語句創建存儲的具體過程如下:
1、首先,打開企業管理器,選擇【工具】-【查詢分析器】:
Ⅳ 建立資料庫的基本工作過程是什麼
1。將你建立的資料庫的配置信息進行保存;
2。存儲資料庫文件信息,並設置資料庫為可用
Ⅳ 資料庫論述題:請描述通過設計視圖創建查詢的基本步驟。
2.使用查詢的設計視圖創建查詢
利用查詢的設計視圖創建查詢的方法如下。
(1)在資料庫窗口中打開 「新建查詢」對話框。
(2)在「新建查詢」對話框中選擇「設計視圖」選項,然後單擊「確定」按鈕,出現 「顯示表」對話框。
3)在「顯示表」對話框中,選擇查詢所需要的表名或查詢名。
(4)在查詢的設計視圖窗口中,設置查詢的條件。
「欄位」設置查詢結果中要顯示的欄位。「排序」指定在查詢結果中記錄按哪個欄位中的數據進行排序,它有兩種類型:升序和降序。「准則」中的每一列准則指定了篩選記錄的限制條件。
「顯示」決定了選定的欄位是否顯示在查詢結果中。
(5)保存查詢的定義 。
(6)如果要查看查詢結果,單擊Access主窗口工具欄上的「運行」按鈕。
Ⅵ 關於SQL創建存儲過程的
--1.創建存儲過程,把KCB中姓張的人員的成績加10分
create proc usp_setcjUp10
(
@xm nvarchar(150)
)
as
begin
update KCB set cj=cj+10 where KCB.id in
(select k.id from dbo.RSB r,dbo.KCB k where r.rybh=k.rybh and xm like @xm+'%')
end
-- 2.創建存儲過程,能查詢指定姓名的人員信息,包括人員編號、姓名、職稱、課程名稱、成績。
--如果要查詢姓名是『李軍』的人員信息,請寫出存儲過程調用形式。
create proc usp_selectWhere
(
@xm nvarchar(150)
)
as
begin
select * from dbo.RSB r,dbo.KCB k where r.rybh=k.rybh and xm=@xm
end
go
--3.創建一個在KCB表中插入一條記錄的存儲過程,插入的具體數據由調用時給出。
create proc usp_insertKcb
(
@rybh int,
@cj float,
@kcmc nvarchar(50)
)
as
begin
INSERT INTO [KCB]([rybh],[cj],[kcmc])VALUES(@rybh,@cj,@kcmc)
end
go
其他的以此類推
Ⅶ sql 資料庫 創建存儲過程
單個SQL ,查詢 是沒有問題的,關鍵是 將城市為南京的人員查詢出來的賦值有問題
Ⅷ 求一份完整的SQL語句(建立資料庫以及增刪改查)的存儲過程
/*----創建資料庫---*/
Use master
Go
/* ---檢查是否已存在ShopDB資料庫:查詢master資料庫的系統表sysdatabases---*/
If Exists (select * from sysdataBases where name = 'ShopDB')
Drop dataBase ShopDB
Go
Create DataBase ShopDB
On
Primary
(
/*主數據文件的具體描述*/
Name = 'ShopDB',
FileName = 'E:\ShopDB_data.mdf',
Size = 10MB,
FileGrowth = 20%
)
Log On
(
/*次要數據文件的具體描述*/
Name = 'ShopDB2',
FileName = 'E:\ShopDB_log.ldf',
Size = 3MB,
MaxSize = 20MB,
FileGrowth = 10%
)
GoUse ShopDB
Go
/*------------------------創建資料庫表------------------*/
If Exists (select * from sysObjects where name = 'Users')
Drop table Users
Go
Create Table Users
(
ID int Identity (1,1) not null ,
myname varchar (15) not null ,
age int
)
Go---------插入數據-----------
insert into Users values ('雨',18)
insert into Users values ('葉',21)
insert into Users values ('露',24)select * from users /*--檢測是否存在:存儲過程存放在系統表sysObjects中--*/
If Exists ( select * from sysobjects where name = 'proc_select')
Drop procere proc_select
Go
/*-----創建proc_select存儲過程-----*/
Create procere proc_select
As
Select age,myname from Users where age > 18
Go/*-------調用存儲過程-------*/
Exec proc_select
Go/*----------------創建proc_insert帶參數的存儲過程---------------*/
If Exists ( select * from sysobjects where name = 'proc_insert')
Drop procere proc_insert
Go
Create procere proc_insert
@userName varchar(20),
@age int
As
insert into Users values (@userName,@age)
Go /*-------調用存儲過程-------*/
Exec proc_insert sky,20
Go/*----------------創建proc_update存儲過程---------------*/
If Exists ( select * from sysobjects where name = 'proc_update')
Drop procere proc_insert
Go
Create procere proc_update
@userName varchar(20),
@age Money
As
update Users set age=@age where myname = @userName
Go /*-------調用存儲過程-------*/
Exec proc_update sky,21
Go
/*----------------創建proc_delete存儲過程---------------*/
If Exists ( select * from sysobjects where name = 'proc_delete')
Drop procere proc_delete
Go
/*------創建存儲過程-----*/
Create procere proc_delete
@userName varchar(20)
As
delete from Users where myName = @userName
Go/*-------調用存儲過程-------*/
Exec proc_delete sky
Go
Ⅸ Sql中建立查詢student表中的所有內容的儲存過程(儲存過程名是QueryStudent
create procere QueryStudent
as
begin
select * from student
end
Ⅹ 描述資料庫創建到SQL Server中的過程
從物理結構上講,每個資料庫都包含有數據文件和日誌文件。開始使用資料庫前,必須先創建資料庫,以便生成這些文件。在SQL Server 2005中創建資料庫的方法很多,其中最主要的方法是:
l 直觀地利用SQL Server Management Studio創建資料庫。
l 通過Transact-SQL代碼創建資料庫。
注意
新建的資料庫實際上是根據Model資料庫中保存的資料庫模板創建的,也就是說它是Model資料庫的一個副本。
下面將分別介紹這兩種創建資料庫的方法。
6.3.1 利用SQL Server Management Studio創建資料庫
在SQL Server Management Studio中,用戶可以非常方便地利用圖形化的方法創建資料庫。接下來,我們將利用這種方法創建一個示例資料庫——Customers資料庫。
(1) 選擇【開始】|【程序】| Microsoft SQL Server 2005 | SQL Server Management Studio命令,打開SQL Server Management Studio。
(2) 使用【Windows身份驗證】連接到SQL Server 2005資料庫實例。
(3) 展開SQL Server實例,右擊【資料庫】,然後從彈出的快捷菜單中選擇【新建資料庫】命令,打開【新建資料庫】對話框,如圖6.2所示。
(4) 在【新建資料庫】對話框中,輸入資料庫名稱Customers。
圖6.2 新建資料庫
提示
資料庫的名稱必須遵循SQL Server 2005命名規則。名字的長度在1~128個字元之間;名稱的第一個字元必須是字母或者「_」、「@」和「#」中的任意字元;名稱中不能包含空格和SQL Server 2005的保留字(如master)。
(5) 如果接受所有默認值,可以單擊【確定】按鈕結束創建工作;由於本示例中的Customers資料庫沒有用默認值,因此還需要繼續下面的可選步驟。
(6) 在【所有者】下拉列表框中可以選擇資料庫的所有者。資料庫的所有者是對資料庫有完全操作許可權的用戶。默認值表示當前登錄Windows系統的是管理員賬戶。Customers資料庫需要更改所有者名稱,因此單擊「...」按鈕,打開【選擇資料庫所有者】對話框,如圖6.3所示。在這個對話框中單擊【瀏覽】按鈕,打開【查找對象】對話框,如圖6.4所示,在對話框中選擇登錄對象sa作為資料庫的所 有者。
圖6.3 選擇資料庫所有者
圖6.4 選擇對象
(7) 選中【使用全文索引】復選框,啟用資料庫的全文搜索。這樣資料庫中的變長復雜數據類型列也可以建立索引。
(8) 在Customer上添加新文件組。選中【文件組】頁,單擊【添加】按鈕,接著輸入文件組的名稱「DefaultGroup」,並選中這個文件組的【默認值】選項,如圖6.5所示。
圖6.5 添加文件組
(9) 如果要更改主數據文件和事務日誌文件的默認值,可以在【資料庫文件】列表框中單擊相應的單元並輸入新值。對於Customers資料庫,需要在主數據文件的【初始大小】欄中輸入新的初始大小值10MB;接著單擊【自動增長】欄中的「...」按鈕,打開更改自動增長設置對話框(如圖6.6所示),選中【按MB】單選按鈕,將值更改為2MB,並選中【不限制文件增長】單選按鈕;最後在日誌文件的【路徑】欄中輸入新的日誌文件路徑「D:\DataBaseLog」。
圖6.6 更改主數據文件的自動增長設置
(10) 在Customers資料庫中添加新的數據文件Customers_1:在【常規】頁中單擊【添加】按鈕,在【資料庫文件】列表框中會添加一個新行,在【邏輯名稱】欄中輸入文件的名稱「Customers1」,在【文件類型】欄中選擇【數據】類型。在【文件組】中選擇DefaultGroup文件組,其他接受默認值,如圖6.7所示。
圖6.7 添加數據文件和日誌文件
(11) 在Customers資料庫中添加新的日誌文件Customers_Log1。在【常規】頁中單擊【添加】按鈕,在【資料庫文件】列表框中會添加一個新行,在【邏輯名稱】欄中輸入文件的名稱「Customers_log1」,在【文件類型】欄中選擇【日誌】類型,在【路徑】欄中輸入新的路徑「D:\DataBaseLog」,其他接受默認值。
(12) 如果要更改資料庫的排序規則,可以選擇【選項】頁(如圖6.8所示),然後在【排序規則】下拉列表框中選擇一個排序規則。Customers資料庫使用默認的排序規則。
圖6.8 選擇資料庫的排序規則
提示
排序規則指定了SQL字元存儲和比較所使用的規則,以及字元保存的結構。詳細的排序規則定義可以參考SQL Server 2005的聯機文檔。
(13) 如果要更改恢復模式,可以在【選項】頁的【恢復模式】下拉列表框中選擇一個恢復模式,如圖6.9所示。Customers資料庫使用【完整】模式。
圖6.9 選擇恢復模式
提示
恢復模式的具體定義,可以參考後面章節的相關內容。
(14) 如果要更改資料庫選項,可以選擇【選項】頁,然後修改資料庫的選項。Customers資料庫不需要更改這些選項。
(15) 單擊【確定】按鈕完成資料庫的創建。
(16) 在執行完以上步驟後,SQL Server資料庫引擎就會在資料庫實例中創建一個新的資料庫Customers,如圖6.10所示。
圖6.10 創建了一個新的資料庫Customers
6.3.2 通過Transact-SQL代碼創建資料庫
除了可以通過SQL Server Management Studio的圖形化界面創建資料庫外,還可以使用Transact-SQL語言提供的CREATE DATABASE語句來創建資料庫。對於具有豐富的編程經驗的用戶,後一種方法更加簡單有效。下面首先介紹CREATE DATABASE語句的語法,接著描述了使用CREATE DATABASE語句創建上一節中的Customers示例資料庫的方法。
1. CREATE DATABASE語句的語法和參數
CREATE DATABASE語句的語法約定如下所示。
CREATE DATABASE database_name
[ ON
[ PRIMARY ] [ <filespec> [ ,...n ]
[ , <filegroup> [ ,...n ] ]
]
[
[ LOG ON { <filespec> [ ,...n ] } ] ]
[ COLLATE collation_name ]
[ FOR { ATTACH [ WITH <service_broker_option> ]
| ATTACH_REBUILD_LOG }]
[ WITH <external_access_option> ]
]
[;]
<filespec> ::=
{
( NAME = logical_file_name ,
FILENAME = 'os_file_name'
[ , SIZE = size [ KB | MB | GB | TB ] ]
[ , MAXSIZE = { max_size [ KB | MB | GB | TB ] | UNLIMITED } ]
[ , FILEGROWTH = growth_increment [ KB | MB | GB | TB | % ] ]
) [ ,...n ]
}
<filegroup> ::=
{ FILEGROUP filegroup_name [ DEFAULT ]
<filespec> [ ,...n ] }
<external_access_option> ::=
{ DB_CHAINING { ON | OFF }
| TRUSTWORTHY { ON | OFF }
}
<service_broker_option> ::=
{ ENABLE_BROKER
| NEW_BROKER
| ERROR_BROKER_CONVERSATIONS
}
CREATE DATABASE語句中的參數說明如下。
l database_name:新資料庫的名稱。資料庫名稱在 SQL Server 的實例中必須唯一,並且必須符合標識符規則。如果未指定數據文件的名稱,則 SQL Server 使用database_name作為logical_file_name和os_file_name。
l ON:指定顯式定義用來存儲資料庫數據部分的磁碟文件(數據文件)。當後面是以逗號分隔的、用以定義主文件組的數據文件的<filespec>項列表時,需要使用ON。主文件組的文件列表可後跟以逗號分隔的、用以定義用戶文件組及其文件的<filegroup>項列表(可選)。
l PRIMARY:指定關聯的<filespec>列表定義主文件。在主文件組的<filespec>項中指定的第一個文件將成為主文件。一個資料庫只能有一個主文件。如果沒有指定 PRIMARY,那麼 CREATE DATABASE 語句中列出的第一個文件將成為主文件。
l LOG ON:指定顯式定義用來存儲資料庫日誌的磁碟文件(日誌文件)。LOG ON後跟以逗號分隔的用以定義日誌文件的<filespec> 項列表。如果沒有指定 LOG ON,將自動創建一個日誌文件,其大小為該資料庫的所有數據文件大小總和的 25%,取兩者之中的較大者。
l COLLATE collation_name:指定資料庫的默認排序規則。排序規則名稱既可以是 Windows 排序規則名稱,也可以是 SQL 排序規則名稱。如果沒有指定排序規則,則將 SQL Server 實例的默認排序規則分配為資料庫的排序規則。不能使用 FOR ATTACH 或 FOR ATTACH_REBUILD_LOG 子句指定排序規則名稱。
l FOR ATTACH:指定通過附加一組現有的操作系統文件來創建資料庫。必須有一個指定主文件的 <filespec> 項。至於其他 <filespec> 項,只需要指定與第一次創建資料庫或上一次附加資料庫時路徑不同的文件的那些項即可。必須有一個<filespec>項指定這些文件。FOR ATTACH 具有以下要求:所有數據文件(MDF 和 NDF)都必須可用;如果存在多個日誌文件,這些文件都必須可用;如果一個可讀/寫資料庫具有一個當前不可用的日誌文件,並且進行附加操作前在沒有被使用或打開情況下關閉了該資料庫,那麼FOR ATTACH會自動重新生成日誌文件並更新主文件。相比之下,對於只讀資料庫,由於主文件不能更新,將不能重新生成日誌。因此,如果附加一個日誌不可用的只讀資料庫,必須在 FOR ATTACH 子句中提供日誌文件或文件。
l FOR ATTACH_REBUILD_LOG:指定通過附加一組現有的操作系統文件來創建資料庫。該選項只限於讀/寫資料庫。如果缺少一個或多個事務日誌文件,將重新生成日誌文件。必須有一個指定主文件的 <filespec> 項。 使用FOR ATTACH_REBUILD_LOG參數必須確保完全關閉資料庫並且所有數據文件都 可用。
l <filespec>:控制文件屬性。
l NAME logical_file_name:指定文件的邏輯名稱。在Creat Name中命名用了下面介紹指定FILENAME參數時,就需要設置NAME參數,除非指定FOR ATTACH子句之一。
l logical_file_name:引用文件時,SQL Server 中使用的邏輯名稱。logical_file_name 必須在資料庫中唯一,必須符合標識符規則。名稱可以是字元或 Unicode 常量,也可以是常規標識符或分隔標識符。
l FILENAME ' os_file_name ':指定操作系統(物理)文件名稱。os_file_name是創建文件時由操作系統使用的路徑和文件名。文件必須駐留在下列設備中:安裝 SQL Server 的本地伺服器、存儲區域網絡(Storage Area Network,簡稱SAN)或基於 iSCSI 的網路。執行 CREATE DATABASE 語句前,指定路徑必須存在。日誌文件一定不要放在壓縮文件系統中。
l SIZE size:指定文件的大小。size是文件的初始大小。如果沒有為主文件提供初始大小,則資料庫引擎將使用model資料庫中的主文件的大小。如果指定了輔助數據文件或日誌文件,但未指定該文件的初始大小,則資料庫引擎將以 1 MB 作為該文件的大小。此外,為資料庫主文件指定的大小至少應與model資料庫的主文件大小相同。可以使用千位元組(KB)、兆位元組(MB)、千兆位元組(GB)或兆兆位元組(TB)單位,默認值為 MB。這個值必須為整數,對於大於 2 147 483 647 的值,使用更大的單位。
l MAXSIZE max_size:指定文件可增大到的最大大小。max_size 表示最大的文件大小。可以使用KB、MB、GB和TB單位,默認值為MB。如果不指定文件的最大尺寸,則文件將增長到磁碟被充滿為止。這個值必須為整數,對於大於 2 147 483 647 的值,使用更大的單位。
l UNLIMITED:指定文件將增長到整個磁碟。在 SQL Server 2005 中,規定日誌文件可增長的最大大小為 2TB,而數據文件的最大大小為 16TB。
l FILEGROWTH growth_increment:指定文件的自動增量。文件的 FILEGROWTH 設置不能超過 MAXSIZE 設置。growth_increment表示每次需要新空間時為文件添加的空間量。值為 0 時表明自動增長被設置為關閉,不允許增加空間。如果未指定 FILEGROWTH,則數據文件的默認值為1MB,日誌文件的默認增長比例為10%,並且最小值為64KB。
l <filegroup>:控制文件組屬性。
l FILEGROUP filegroup_name:文件組的邏輯名稱。filegroup_name必須在資料庫中唯一,不能是系統提供的名稱 PRIMARY 和 PRIMARY_LOG。名稱可以是字元或Unicode常量,也可以是常規標識符或分隔標識符。名稱必須符合標識符規則。
l DEFAULT:指定命名文件組為資料庫中的默認文件組。
l <external_access_option>:控制外部與資料庫之間的雙向訪問。
l DB_CHAINING { ON | OFF }:當指定為 ON 時,可以連接跨資料庫伺服器的鏈接源或目標。當為 OFF 時,資料庫不能參與跨資料庫所有權的鏈接。默認值 為OFF。
l TRUSTWORTHY { ON | OFF }:當指定為ON時,使用模擬上下文的資料庫模塊(例如,視圖、用戶定義函數或存儲過程)可以訪問資料庫以外的資源。當為OFF時,模擬上下文中的資料庫模塊不能訪問資料庫以外的資源。默認值為OFF。
l <service_broker_option>:控制資料庫上的Service Broker選項。
l ENABLE_BROKER:對指定的資料庫啟用 Service Broker服務。
l NEW_BROKER:在sys.databases 和還原資料庫中創建一個新的 service_ broker_guid 值。
l ERROR_BROKER_CONVERSATIONS:結束所有會話,並產生一個錯誤信息指出資料庫已附加或還原。
2. 使用CREATE DATABASE語句創建Customers資料庫
使用一條 CREATE DATABASE 語句就可以創建資料庫以及存儲該資料庫的文件。SQL Server通過使用以下步驟實現CREATE DATABASE語句: 首先,SQL Server 2005 資料庫引擎使用model資料庫的副本初始化該資料庫及其元數據;接著,為資料庫分配 Service Broker GUID;最後,使用空頁填充資料庫的剩餘部分(包含記錄資料庫中空間使用情況的內部數據頁除外)。在一個 SQL Server 的實例中最多可以指定32 767個資料庫。
下面使用CREATE DATABASE語句重新創建上一節中創建的Customers示例資料庫。具體步驟如下。
(1) 打開SQL Server Management Studio,並用【Windows身份驗證】登錄。
(2) 選中資料庫實例,右擊,從彈出的快捷菜單中選擇【新建查詢選項】命令,打開查詢編輯窗口。
(3) 在查詢編輯窗口中輸入如下的Transact-SQL語句:
CREATE DATABASE Customers
ON PRIMARY
(
NAME = Customers,
FILENAME = 'C:\Program Files\Microsoft SQL Server\ MSSQL.1\MSSQL\DATA\ Customers.mdf',
SIZE = 10,
MAXSIZE = UNLIMITED,
FILEGROWTH = 2
),
FILEGROUP DefaultGroup
(
NAME = Customers_1,
FILENAME = 'C:\Program Files\Microsoft SQL Server\ MSSQL.1\ MSSQL\DATA\ Customers_1.ndf',
SIZE = 3MB,
MAXSIZE = UNLIMITED,
FILEGROWTH = 1MB
)
LOG ON
(
NAME = Customers_log,
FILENAME = 'D:\DataBaseLog \Customers_log.ldf',
SIZE = 1MB,
MAXSIZE = UNLIMITED,
FILEGROWTH = 10%
),
(
NAME = Customers_log1,
FILENAME = 'D:\DataBaseLog\Customers_log1.ldf',
SIZE =3MB,
MAXSIZE = UNLIMITED,
FILEGROWTH = 10%
)
(4) 單擊工具欄上的【執行】按鈕執行上面輸入的SQL語句。
(5) 在查詢執行後,查詢結果窗口中會返回查詢執行的結果。如果查詢執行沒有錯誤,在對象資源管理窗口中展開資料庫實例下的【資料庫】項,可以看到新建的Customers資料庫,如圖6.11所示。
注意
在重新創建Customers資料庫前,必須首先刪除上一節中建立的Customers資料庫。
提示
在創建資料庫時,請根據資料庫中預期的最大數據量,創建盡可能大的數據文件。另外,創建、修改或刪除用戶資料庫後,應備份 master 資料庫。
圖6.11 使用CREATE DATABASE語句創建Customers資料庫
要縮小某個分區的容量大小,該分區內必須存在未被使用的磁碟空間;要增大某個分區的容量大小,必須存在緊鄰該分區的自由空間。