2016-12-24 53 views
-3

我想询问关于创建存储过程的技巧。创建存储过程的简单方法

当我尝试创建过程时,我必须在@符号的开头写入字段 - 所以我没有简单的方法来执行此操作?

像这样

CREATE PROCEDURE [dbo].[Insert_Vehicle_Procedure] 
    (@VehiclePlateNo varchar(max), 
    @Variety varchar(max) 
    ) 
AS 
    SET NOCOUNT OFF 

    INSERT INTO [dbo].[Vehicles] ([VehiclePlateNo], [Variety]) 
    VALUES (@VehiclePlateNo, @Variety) 

有时有数以百计的领域写他们可真烦人:)

+0

这个存储过程已经很简洁了,你究竟在寻找什么“优化”在这里?我想你可以让你的变量/实体/等。名字*较短*,但是很快你会发现收益递减,因为在几个字符后,这些简明的名字将不再有效地描述自己。如果你只是不想输入代码,那么你可能需要一些代码生成工具。即使是一个本土的。您可以查询表结构并从中发布您的过程文本。 – David

+1

没有长度的BTW'varchar'与那里的'varchar(1)'相同。 SSMS工具包有一个帮助程序可以为表格创建简单的crud程序。 –

+0

我知道@MartinSmith我写道,我只是一个例子。 – Sososo

回答

0

为什么不只是写,从发出存储过程的参数数据脚本块SQL脚本自己查询systables和syscolumns系统表。

+0

你能更清楚地解释一下吗?我想我错过了关于这方面的信息。如果你能在这方面提供帮助,我想提高我的数据库知识。 – Sososo

+0

表的所有列名称和数据类型都保存在SQL Server syscolumns表中。如果你写了一个从syscolumns表中选择数据的查询(即为目标表中的每个字段选择一行),你可以很容易地让Select语句写出一行文本,如“@VehiclePlateNo varchar(max)” systables和systypes中的数据。 – PhillipH