2016-12-28 81 views
0

我有這樣的代碼下面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

回答

3

您不必使用括號()在沒有參數

CREATE PROCEDURE dbo.auto_insert_biaya_olah 
AS 
Begin 
.. 
+0

鷹眼......跳過那個+1 –

+0

thnks先生它的工作 – Jsnow

0

與功能,同時創造沒有參數的過程()不是必需的。

創建過程正確的語法是

CREATE PROCEDURE YourProcName 
+0

沒有這樣的我們可以使用圓括號的程序也有程序時有參數。 –