0
每次创建存储过程时,它都默认为“主”数据库。如何制作特定于数据库“上传”的SP?创建特定于数据库的SP?
CREATE PROCEDURE testInsert2
AS
INSERT INTO [uploads].dbo.[aspnet_uploads]
(userID, fileName, userName)
VALUES
('Test1', 'Test2', 'Test3')
每次创建存储过程时,它都默认为“主”数据库。如何制作特定于数据库“上传”的SP?创建特定于数据库的SP?
CREATE PROCEDURE testInsert2
AS
INSERT INTO [uploads].dbo.[aspnet_uploads]
(userID, fileName, userName)
VALUES
('Test1', 'Test2', 'Test3')
您需要在该数据库的上下文中。
USE uploads;
GO
CREATE PROCEDURE dbo.testInsert2
AS
BEGIN
SET NOCOUNT ON;
INSERT dbo.[aspnet_uploads](userID, fileName, userName)
VALUES('Test1', 'Test2', 'Test3');
END
GO
当你重新连接它发生的服务器。您可以尝试像这样
USE [database_name]
GO
Create Procedure [procedure_name]
AS
在代码中引用数据库被认为是不好的做法(sp,functions);在你的情况下,它是'[上传] .'部分。 – 2012-03-07 22:06:03
@Denis我一般同意这一点,当然它总是依赖,但是这使得使用不同名称复制数据库非常困难以隔离测试等。现在,所有的过程仍然引用主副本。 .. – 2012-03-07 22:30:06