2012-02-19 214 views

回答

16

的CREATE PROCEDURE过程名语句创建的过程。

你只需要执行一次,它就会在程序保存到数据库中。

确保选择您要,无论是在SQL Server Management Studio中的左上角选择它来保存的程序正确的数据库,或通过将下面的代码的顶部:

使用的databaseName

另外要注意,如果有任何语法错误,也不会“拯救”的过程。

+0

vince_sql - 我这样做,但没有看到存储过程的任何地方。我也是在CREATE PROCEDURE语句上面指定数据库名称吗? – PeanutsMonkey 2012-02-19 20:31:32

+1

是的,USE语句指定它后面的任何代码将运行的数据库上下文(直到下一个USE语句,如果有的话)。 您可能在master数据库中创建了该过程,您可以通过单击'系统数据库',然后'主'和'存储过程'查看该过程。 – 2012-02-19 20:35:26

+0

我没有通过执行以下操作 USE数据库名称 CREATE PROCEDURE [过程名称]指定数据库名称 但得到的错误 消息111,级别15,状态1,过程usp_displayprice,行20 “CREATE/ALTER PROCEDURE'必须是查询批处理中的第一条语句。 – PeanutsMonkey 2012-02-19 20:40:34

3

在您学习SQL Server和Management Studio时,您可能会发现熟悉内置模板以创建从数据库到表格到存储过程等的所有内容非常有帮助。您可以在查看菜单下的模板资源管理器中找到模板。

第一个例子中this walk-through with screenshots显示了如何使用该模板创建的存储过程。该模板包含模式名称的占位符(通常只是dbo)。

你也将要包括USE语句,以确保该存储过程在正确的数据库中创建。

除了帮助你学习正确的编码习惯,使用这些模板可以是一个真正的节省时间,并帮助您避免错别字和语法错误,你becomem在SQL熟练后也。

当你真的擅长它时,你可以创建自己的模板。

编辑:这是一个非常基本的CREATE PROCEDURE声明:

USE MyDatabase 
GO 
CREATE PROCEDURE dbo.MyProcedure 
AS 
SELECT FirstName, LastName, Address, City 
FROM Customers 
ORDER BY LastName 
GO 

在运行,你可以运行此行来检查程序已经创建,它工作正常:

EXEC dbo.MyProcedure 
+0

谢谢,但发现相当恐吓考虑这是我第一次。我遵循http://www.sql-server-performance.com/2003/stored-procedures-basics/ – PeanutsMonkey 2012-02-19 20:42:26

+1

上的指南不要失望。在SQL中只有几个类似的问题,其中大部分将应用于所有其他运行的数据库。所以,一旦你通过了第一批存储过程,它会变得更容易。 – DOK 2012-02-19 20:51:14

相关问题