应用题 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、
【正确答案】 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]}