我有这个触发器:
create or replace trigger t_calctotal
after insert or update on item_fornecimento
REFERENCING NEW AS NEW OLD AS OLD
for each row
begin
if inserting then
dbms_output.put_line(' On Insert');
update fornecimento f set f.total_enc_fornec = f.total_enc_fornec +:NEW.prec_total_if where f.id_fornecimento = :NEW.id_fornecimento;
else
dbms_output.put_line(' On Update');
update fornecimento f set f.total_enc_fornec = f.total_enc_fornec - :OLD.prec_total_if +:NEW.prec_total_if where f.id_fornecimento = :NEW.id_fornecimento;
end if;
end;
Run Code Online (Sandbox Code Playgroud)
基本上我想通过汇总item_fornecimento中的所有项目来刷新订单的总价值(fornecimento); 我必须以不同的方式对待它,例如它是一个插入,它是一个更新.触发器编译,所有甚至工作一次,但它是唯一的.我已经在sqldeveloper中的item_fornecimento中插入或更新了我的prec_total_if,但是订单的(fornecimento)总数仍未改变:(.
如果它很重要,我的f.total_enc_fornec它会为null,直到它被这个触发器插入的值替换掉; 它打印输出,但它似乎无法更新.
是否有建议/反对将包含的jQuery 1.3.2升级到1.4?
我是博士生,用Python编写我用于研究的代码.我的工作流程通常包括对代码进行小的更改,运行程序,查看结果是否得到改进,以及重复该过程.因此,我发现自己花了更多的时间来等待我的程序运行,而不是实际工作(我知道这是一种常见的经历).我目前在我的系统上使用最新版本的Python 2,所以我的问题是切换到Python 3是否会给我带来任何速度提升.在这一点上,我没有一个令人信服的理由转向Python 3,所以如果执行速度相似,我可能会坚持使用2.x. 我知道我将不得不修改我的代码以使其在Python 3中运行,所以它' 在两个版本上测试它以查看哪个版本运行得更快并不容易.在花费时间将代码更新到Python 3之前,我需要有理由相信我会提高速度.
使用ATL(VS2008)如何枚举给定IDispatch接口(IDispatch*)上可用的可用方法?我需要搜索一个具有特定名称的方法,一旦我有了DISPID,就调用该方法(我知道方法所采用的参数.)理想情况下,我想使用智能COM指针(CComPtr<>).
这可能吗?
我正在使用 Spring 研究一些数据访问逻辑,我的问题与事务有关。事务文档http://static.springsource.org/spring/docs/2.5.x/reference/transaction.html显示您可以实现声明式或编程式事务。我选择使用编程方法,以便更好地控制交易内容。
基本模式如下所示:
Product product = new Product();
// load properties
// how do I pass my product object instance to my anonymous method?
transactionTemplate.execute(
new TransactionCallbackWithoutResult()
{
protected void doInTransactionWithoutResult (TransactionStatus status)
{
// transaction update logic here
return;
}});
Run Code Online (Sandbox Code Playgroud)
也许我的处理方式是错误的,但是我的问题是如何将参数传递到内部匿名方法中?我想这样做的原因是这样我可以在开始事务之前构建我的对象图(因为事务应该尽可能短地进行,对吗?)我只希望在事务中运行一小部分逻辑(更新逻辑)。
[编辑]
到目前为止,我唯一的选择似乎是使用常量变量,或者将所有逻辑放在匿名委托中。这似乎是一个非常常见的问题......您如何在自己的代码中处理这样的情况?
我有一个指向结构的指针,我需要实现一个复制结构的所有内存内容的方法.一般来说,我需要执行结构的深层复制.
这是结构:
typedef struct {
Size2f spriteSize;
Vertex2f *vertices;
GLubyte *vertex_indices;
} tSprite;
Run Code Online (Sandbox Code Playgroud)
这是我实现的方法应该复制结构:
tSprite* copySprite(const tSprite *copyFromMe)
{
tSprite *pSpriteToReturn = (tSprite*)malloc( sizeof(*copyFromMe) );
memcpy(pSpriteToReturn, copyFromMe, sizeof(*copyFromMe) );
return pSpriteToReturn;
}
Run Code Online (Sandbox Code Playgroud)
问题是我不确定数组"vertices"和"vertex_indices"是否会被正确复制.什么会以这种方式被复制?数组或数组本身的地址?
我应该在复制结构后复制数组吗?或者只是复制结构就足够了?
像这样的东西:
...
pSpriteToReturn->vertices = (Vector2f*)malloc( sizeof(arraysize) );
memcpy(pSpriteToReturn->vertices, copyFromMe->vertices, sizeof(arraysize) );
...
Run Code Online (Sandbox Code Playgroud)
先感谢您.
我有一个表,其中包含有关特定对象,Say Item和列的信息
ItemID,ItemName,price,ItemListingType ..... LastOrderDate
其中一个信息,ItemListingType可以是10种不同类型之一,例如:
私人,政府,非政府,商业...等(字符串),将来可以扩展到更多类型.
我应该在表ITEM中使用列还是应该使用具有两列的单独表并在Item表中放入一个外键来引用它(一对多关系)?喜欢:
ListingTypeID int
ListingTypeName varchar(MAX)
编辑:列的值有多少,您将考虑使用另一个表
2,4还是什么?
谢谢
我试图从驱动程序类传递一个Integer对象作为我创建的SortedArray Generic类的函数的参数时遇到问题.从我的驱动程序类,我将用户的int输入转换为Integer对象,以转换为我的SortedArray类的Comparable.
我继续收到错误:"线程中的异常"主"java.lang.ClassCastException:java.lang.Integer无法强制转换为Comparable".我查看了一些同学的源代码,但发现参数/参数设置没什么差别,但是他们的代码工作得很好.我一直在寻找几个小时试图找到我所犯的错误,但我仍然无法找到为什么我的Integer对象无法转换为Comparable.
这里有一点来自我的SortedArray类
public class SortedArray implements Comparable{
public int size;
public int increment;
public int top;
Comparable[] a = new Comparable [size];
public SortedArray(int initialSize, int incrementAmount)
{
top = -1;
size = initialSize;
increment = incrementAmount;
}
public int appropriatePosition(Comparable value)
{
int hold = 0;
if(top == -1)
{
return 0;
}
else
{
for(int i = 0; i <= top; i++)
{
if(a[i].compareTo(value) > 0)
{
hold = i;
break;
}
}
}
return hold; …Run Code Online (Sandbox Code Playgroud) 请查看以下代码.这有什么问题?编译器给出了这个错误:
在复制构造函数
person::person(person&)': No matching function for call toperson :: copy(char*&,char*&)'候选者是:void person :: copy(char*&,const char*&)"
这是代码:
class person
{
public:
person();
person(person &);
private:
void copy(char*&,const char*&);
char* name, *fathername,* address;
};
void person::copy( char*& n, const char*& p)
{
int result;
result=strcmp(n,p);
if(result!=0)
{
n=new char[strlen(p)+1];
strcpy(n,p);
n[strlen(p)]='\0';
}
}
person::person(person &object)
{
copy(name,object.name);
copy(fathername,object.fathername);
copy(address, object.address);
}
Run Code Online (Sandbox Code Playgroud)
从这个问题的答案来看,到目前为止我所理解的是:编译器不允许将引用转换为常量引用,因为引用已经是常量.它们不能指向像指针一样的不同内存位置.我对吗?
我不确定如何正确调试这个但是尝试了一些不同的方法,这些方法已经缩短了时间,但没有解决问题.我办公室中至少有4个人可以在相同的机器上执行此代码,并且安装了相同版本的ruby和rubygems且没有错误.
这是我正在执行的代码:
status = Open4::popen4( "swfmill simple stdin stdout" ) do | pid, stdin, stdout, stderr |
stdin.write( config )
stdin.close
bytes = stdout.read
errors = stderr.read
end
Run Code Online (Sandbox Code Playgroud)
我在这条线路上遇到"总线错误":
errors = stderr.read
Run Code Online (Sandbox Code Playgroud)
如果我评论该行,我会在此行上收到"Segementation Fault":
bytes = stdout.read
Run Code Online (Sandbox Code Playgroud)
我显然使用Open4库并执行外部进程.这个外部进程在直接从终端执行时非常有效,并且当这个Ruby代码在这个特定的Rails应用程序之外运行时,即使在不同的,更简单的Rails应用程序中也是如此.
要重现错误,我只需执行我的特定测试方法,如下所示:
ruby test/unit/swf_generator_test.rb --name test_get_bytes
Run Code Online (Sandbox Code Playgroud)
我在配备Intel Core 2 Duo 2.53 GHz和8GB RAM的MacBook Pro上运行Snow Leopard Mac OS X 10.6.2(10C540).
ruby -v && gem -v
ruby 1.8.7 (2009-06-12 patchlevel 174) [i686-darwin10.2.0]
1.3.5
Run Code Online (Sandbox Code Playgroud)
我在GDB中执行了这段代码,发现我的libxml和libxslt库都安装不正确.我能够安装这两个库,现在GDB不再告诉我任何我认为有用的东西.以下是GDB的当前输出:
gdb ruby
GNU gdb 6.3.50-20050815 (Apple version gdb-1344) (Fri Jul 3 …Run Code Online (Sandbox Code Playgroud) c++ ×3
java ×2
asp.net-mvc ×1
atl ×1
c ×1
com ×1
comparable ×1
foreign-keys ×1
hibernate ×1
jquery ×1
memcpy ×1
one-to-many ×1
oop ×1
oracle ×1
performance ×1
plsql ×1
pointers ×1
python ×1
ruby ×1
spring ×1
sql-server ×1
swfmill ×1
transactions ×1
triggers ×1