可能是你的路径不对,比如你在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数据库
要缩小某个分区的容量大小,该分区内必须存在未被使用的磁盘空间;要增大某个分区的容量大小,必须存在紧邻该分区的自由空间。