互联网上的大多数网站都说:
“使用
javac命令编译.java文件。然后使用java命令运行它”
但是今天我试图在没有Java的情况下运行Java程序,但javac结果却很奇怪。
以下是名为的文件的内容hello.java:
public class Myclass {
public static void main(String[] args){
System.out.println("hello world");
}
}
Run Code Online (Sandbox Code Playgroud)
然后我跑了:
$ javac hello.java
Run Code Online (Sandbox Code Playgroud)
这给了我这个错误:
hello.java:1: error: class Myclass is public, should be declared in a file named Myclass.java
public class Myclass {
^
1 error
Run Code Online (Sandbox Code Playgroud)
但是,当我不使用javac命令运行它时,它执行时没有任何错误。
$ java hello.java
hello world
Run Code Online (Sandbox Code Playgroud)
该java命令还会编译程序吗?如果是,为什么我们需要该javac命令?
我的Java版本是:
openjdk version "12.0.2" 2019-07-16
OpenJDK Runtime Environment (build 12.0.2+10)
OpenJDK 64-Bit Server VM …Run Code Online (Sandbox Code Playgroud) 我将在 postgresql 中表的特定列的更新之前/之后创建一个触发器,但我不能这样做。
我可以在更新特定表的特定列后绑定触发器以触发,但我不能对多个列执行此操作。我想知道这可能吗?
我不想在我的触发器函数中使用 IF(UPDATE(column series)) 来解决它
--我试过下面的代码,但它给了我','附近的错误
create trigger save_information after update of table_name on day, month
for each row
execute procedure save_function();
Run Code Online (Sandbox Code Playgroud)
-- 但下面的代码(只提到一列)工作正常:
create trigger save_information after update of table_name on day
for each row
execute procedure save_function();
Run Code Online (Sandbox Code Playgroud)
我不想更改我的 save_function 来解决它或使用 'IF(update(column series)' 语句。请原谅我写得不好。