-3

この手順の実行を手伝っていただけませんか。

このプロシージャは実行できませんが、プロシージャはエラーなしで正常に実行されます

                exec iso.proc_Additem('12345')

                And 

               **Canot insert values** 

              insert into tbl_Handle 
              values(SYSTEM_USER,DATE)

SQLストアドプロシージャは

           --Procedure Add item to the list --

 Create procedure iso.proc_Additem

@card_id  nvarchar(50) ,
@card_type  nvarchar(1) = 'N'

          AS 
          BEGIN

          Begin transaction 

         Insert into iisr.tbl_handle
         (  UserName )
         Values
         ( system_user )

- コメント -- テーブル定義作成テーブル iso.tbl_Handle

        ( Handle int identity(1,1) 
         , UserName nvarchar(50)
         , Created date
         , constraint pk_Handle primary key(Handle)

        );--

/* ハンドルを取得 */

         declare @Card_Handle int  

         SELECT @Card_Handle = SCOPE_IDENTITY()  -- get handle

          Insert into iso.tbl_card_list
          ( Card_ID , card_type ) 
          Values
          (@Card_ID,@Card_Type)

-コメント --table 定義iso.tbl_card_list

              CREATE TABLE iso.tbl_card_list
              ( Card_Handle int
              , Card_ID nvarchar(50) not null
              , Card_Type char(1) Default 'N' not null
              , Delete_handle int not null
              , Constraint PK_Card_List Primary Key ( Card_Handle) 
              , Constraint FK_1 foreign key (Card_Handle) references iso.tbl_Handle     (Handle)  
              , Constraint FK_2 foreign key(delete_Handle)references iso.tbl_Handle(Handle)
              , Constraint CK_1 check (Card_Type in ('N','T')));--


                      Commit transaction

                        End

4

1 に答える 1

1

括弧を削除します。このように SP を呼び出します。

exec iso.proc_Additem '12345', 'n'
于 2012-05-21T06:21:08.403 に答える