应用题
10. 下面程序段的功能是:在数据库中判断是否存在名为my_proc的存储过程,若存在,则删除之,然后创建同名的存储过程,该存储过程的功能是向author_id、author_name和address字段插入数据。阅读并回答以下问题:
USE bookdb GO
IF EXISTS(SELECT______FROM Sysobjects
WHERE name='my_proc'and type='P')
DROPPROC my_proc GO
CREATE PROC my_proc
@a int,@b char(8),@c char(50)______
INSERT INTO author(author_id,author_name,address)VALUES(@a,@b,@c)GO
【正确答案】
1、第一空:Name
第二空:as
【答案解析】 在数据库中判断是否存在名为my_proc的存储过程,即从系统表中查询有没有和my_proc同名的过程,用“SELECT name FROM Sysobjects”表示。其中Sysobjects为系统表,保存当前数据库的对象,如约束、默认值、日志、规则、存储过程等。比较常用的字段为:
Sysobjects(
Name sysname,- -object名称
id int,- -object id
xtype char(2),- -object类型
type char(2),- -object类型
uid smallint,- -object所有者的ID
)
创建存储过程的命令格式为:
CREATE PROC my_proc
@变量1,@变量2 AS{<sql_statement>[;][…n]}[;]
<sql_statement>::={[BEGIN]statements[END]}