A
创建语句:
USE northwind
GO
CREATE PROCEDURE dbo. FindCustomer
$CustomerID char(5)
LIKE
SELECT contactName
From Customers WHERE CustomerID=$CustomerID
调用语句
EXEC northwind.dbo. FindCustomer
$CustomerID= ‘thecr’
B
创建语句:
USE northwind
GO
CREATE PROCEDURE dbo. FindCustomer
@CustomerID char(5)
AS
SELECT contactName
From Customers WHERE @CustomerID=CustomerID
调用语句
EXEC northwind.dbo. FindCustomer
@CustomerID= ‘thecr’
C
创建语句:
USE northwind
GO
CREATE PROCEDURE dbo. FindCustomer
@CustomerID char(5)
AS
SELECT contactName
From Customers WHERE CustomerID=@CustomerID
调用语句
EXEC northwind.dbo. FindCustomer
CustomerID= ‘thecr’
D
创建语句:
USE northwind
GO
CREATE PROCEDURE dbo. FindCustomer
@CustomerID char(5)
LIKE
SELECT contactName
From Customers WHERE CustomerID=@CustomerID
调用语句
EXEC northwind.dbo. FindCustomer
@CustomerID= ‘thecr’
答: B
A EXEC sp_helptext 'overdueOrders'
B EXEC sp_help overdueOrders
C EXEC sp_stored_procedures 'overdueOrders'
D EXEC sp_depends 'overdueOrders'
E 查询syscomments系统表
F 查询sysobjects系统表
答: AE
答:
USE NorthWind
GO
CREATE PROC FindCustomer3
@LineNum int OUTPUT,
@CustomerID char (5)
AS
IF LEN(@CustomerID)=0
BEGIN
PRINT 'You must supply a valid CustomerID'
RETURN -1
END
SELECT contactName
From Customers WHERE CustomerID=@CustomerID
SET @LineNum = @@ROWCOUNT
RETURN 0
答: 定义自定义错误消息
EXEC sp_addmessage
@msgnum = 50512,
@severity = 10,
@msgtext = 'Can’t find the customer ID:%s at table %s.',
@with_log ='true'
创建存储过程的语句如下
USE NorthWind
GO
CREATE PROC ExistCustomerID
@CustomerID char (5)
AS
SELECT CustomerID
From Customers WHERE CustomerID=@CustomerID
IF @@ROWCOUNT=0
BEGIN
RAISEERROR(50512, 10, 1, @ CustomerID, @DBNAME)
RETURN
END
RETURN 0
5.
已经创建了一个从数据库中删除客户的存储过程。在删除事务完成时,希望有一个自定义的错误信息写入Windows 2000应用程序日志。如何执行该任务?
答: 通过在sp_addmessage存储过程中指定@with_log参数创建一个自定义的错误信息。删除事务提交后,在存储过程中调用RAISERROR语句来生成自定义的错误信息。
6.
在数据库中必须修改一个存储过程,而有几个用户已被授予了执行该存储过程的权限。执行哪个语句来完成修改而又不影响现有的权限?
答: ALTER PROC。如果执行DROP PROC和CREATE PROC语句来实现想要的修改,必须再次授予用户EXECUTE权限。