解决方案 »
- asp网站access换成sqlserver问题(求助)
- 鄒建大俠請進(sql 查詢)
- 表的索引出现问题
- 关于sql2005中最大值的取得问题
- 请教大虾!!
- 疑难问题,请大家帮忙!
- 极度深奥的问题!!有没有谁知道“xp_logattach ”这个存储过程的实际作用与用法。
- 请教高手为什么SQL Server中得不到定义的字符串?
- HTTP Status 500-求大牛帮助
- 如何用SQL语句分组显示查询结果?
- 在当前的查询出来的数据上!查找上一条和下一条!
- 用户 'NT AUTHORITY\SYSTEM' 登录失败。 原因: 无法打开明确指定的数据库。 [客户端: <local machine>]
以下是我的过程
create PROCEDURE loadDataForStock
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
Declare @store VARCHAR(20)
Declare @storeId Int
Declare @sku VARCHAR(20)
Declare @skuId Int
Declare @qty Int Declare @stockSku VARCHAR(20)
Declare @stockStore VARCHAR(20)
Declare cStock cursor For
SELECT store, sku, qty FROM [TACCStock] OPEN cStock
Fetch Next From cStock Into @store, @sku,@qty While @@Fetch_Status = 0 Begin SELECT @storeId = id FROM Tbl_Store WHERE store_no = @store
SELECT @skuId = id FROM Tbl_Sku WHERE sku_code = @sku SELECT @stockSku = [sku_id] , @stockStore = [store_id]
FROM Tbl_Stock WHERE sku_id = @skuId AND store_id = @storeId AND qty <> @qty IF(@stockSku IS NOT NULL AND @stockStore IS NOT NULL)
BEGIN
Update [Tbl_Stock] SET qty = @qty
WHERE sku_id = @stockSku AND store_id = @stockStore
END
--print @qty
--pirnt @sku
--print @stockStore
Declare @existed int SELECT @existed=count(*) FROM [Tbl_Stock] WHERE sku_id = @skuId AND store_id = @storeId IF(@existed=0)
BEGIN
INSERT INTO [dbo].[Tbl_Stock]
([version]
,[qty]
,[sku_id]
,[store_id])
VALUES(0, @qty, @skuId, @storeId)
END Fetch Next From cStock Into @store, @sku,@qty End -- End of Fetch Close cStock
Deallocate cStock
END
GO
这是我的过程
-----------------------------------------------------------------------------------
Class.forName(driver);
conn = DriverManager.getConnection(strUrl, "lab_user", "root");
CallableStatement proc = null;
System.out.println("start:"+new Date());
proc = conn.prepareCall("{call loadDataForStock}");
proc.execute();
这是java调用code
--------------------------------------------------------------------------------去掉这些print语句 当然可以执行通过,并且不会占用太多tomcat内存!
我想知道有这些print语句和没有为什么会占用tomcat如此多的内存,java调用procedure时JVM是怎么工作的?想去看看sqlserver对jdbc的实现源码了
java调用procedure时JVM是怎么工作的?这个最好去java板块问问哈,我对这个原理不懂
也就是说,把print的结果,都返回到jdbc的客户端,也就是都返回到了tomcat了是吧,然后tomcat通过控制台,再输出。