私はこの配列を持っています
$REV = Array
(
0 => 240,
1 => 241,
2 => 242,
3 => 243,
4 => 249
);
今のところ、次のコードを使用して挿入し、各配列の要素を $id、$userID、Type、Date の行に格納しました
if (!empty($REV)) {
foreach ($REV as $val_rev) {
$values_rev[] = "('" . $ID . "','REV','" . $val_rev . "','" . $IDUSER . "',GETDATE())";
}
$values_rev_insert = implode(',', $values_rev);
$query_rev = "insert into dbo.CCLine (ID,CCType,CSID,IdUSer,DateCreated)values" . $values_rev_insert;
mssql_query($query_rev);
}
しかし、私が欲しいのは、このストアドプロシージャを使用できることですが、spを使用して一度に挿入する方法がわかりません:
$stmt = mssql_init('sp_insertRev');
mssql_bind($stmt, '@ID', $ID, SQLINT4);
mssql_bind($stmt, '@CCType', 'REV', SQLVARCHAR);
配列はここでは機能しません
mssql_bind($stmt, '@CSID', $val_rev, SQLINT4);//An example
mssql_bind($stmt, '@IdUSer', $IDUSER, SQLCHAR);
$result = mssql_execute($stmt);
この SP をアレイで使用するにはどうすればよいですか
CREATE PROCEDURE [dbo].[sp_HCCInsert]
@ID int
,@CCType varchar(10)
,@CSID varchar(10)
,@IdUSer char(15)
AS
BEGIN
SET NOCOUNT ON;
DECLARE @CCID as INT
INSERT INTO [dbo].[CCLine]
([ID]
,[CCType]
,[CSID]
,[IdUSer]
,[DateCreated])
VALUES
(@ID
,@CCType
,@CSID
,@IdUSer
,GETDATE())
SET @CCID = @@IDENTITY
Select @CCID as CCID
END