SQL Server的自动插入语法

问题描述:

我有这样的代码下面SQL Server的自动插入语法

CREATE PROCEDURE dbo.auto_insert_biaya_olah() 
AS 
BEGIN 
    SET NOCOUNT ON 

    DECLARE @hid VARCHAR(max); 
    DECLARE @pos INT; 
    DECLARE @len INT; 
    DECLARE @val varchar(max); 

    SET @hid = dbo.get_pks_kode(); 
    SET @pos = 0; 
    SET @len = 0; 

    WHILE CHARINDEX(',', @hid, @pos + 1) > 0 
    BEGIN 
     SET @len = CHARINDEX(',', @hid, @pos+1) - @pos; 
     SET @val = SUBSTRING(@hid, @pos, @len); 

     INSERT INTO PNL_TR_BIAYA_OLAH_PKS (tanggal, id_pks_pengolah, tarif_olah) 
     VALUES (GETDATE(), @val, 447.6); 

     SET @pos = CHARINDEX(',', @hid, @pos + @len) + 1; 
    END 
END 

我得到这样的错误在Navicat:

[错误] 42000 - [SQL服务器]附近有语法错误)' 。

错误未显示发生在哪条线上。我正在使用navicat。提前致谢。

+0

,什么是'get_pks_kode()'&什么是错误行? –

+0

get_pks_kode()是我的功能。我不知道在哪里错误点 – Jsnow

您不必使用括号()在没有参数

CREATE PROCEDURE dbo.auto_insert_biaya_olah 
AS 
Begin 
.. 
+0

鹰眼......跳过那个+1 –

+0

thnks先生它的工作 – Jsnow

与功能,同时创造没有参数的过程()不是必需的。

创建过程正确的语法是

CREATE PROCEDURE YourProcName 
+0

没有这样的我们可以使用圆括号的程序也有程序时有参数。 –