CREATE TABLE Person(
PersonId NUM(20),
...
)
ALTER TABLE Person
ADD(CONSTRAINT personpk PRIMARY KEY(PersonId))
Run Code Online (Sandbox Code Playgroud)
作为标题,我是否需要为PersonId指定"not null"?或者,如果我将其设置为主键,默认情况下它自动不为空?
e.g:
CREATE TABLE Person(
PersonId NUM(20) NOT NULL,
...
Run Code Online (Sandbox Code Playgroud) 我是Java和Oracle之间的连接新手,我正在设计一个登录页面.
我试图从JAVA调用Oracle函数.假设在Oracle函数被调用FUNCT_PERSON与2 IN参数:username和password和返回用户ID是一个NUMBER.
在FUNCT_PERSON函数内部,我们使用SELECT语句并返回用户ID号(如果找到),否则返回0.
这是我的代码:
String sql = "{ ? = call FUNCT_PERSON(?,?) }";
CallableStatement statement = connection.prepareCall(sql);
statement.setString(2,username);
statement.setString(3,password);
statement.registerOutParameter(1, java.sql.Types.INTEGER);
Boolean check = statement.execute();
if (!check) {
//proceed to another page
} else {
//Go back to the login page
}
Run Code Online (Sandbox Code Playgroud)
我不知道我在做什么是对的,特别是Boolean check = statement.execute();线路,因为我真的不知道检查是什么.
如果函数返回一个用户ID,这意味着它存在于数据库中,我将继续进入另一个页面.如果没有,那么它将重定向到登录页面.
我使用的是 Windows 10,刚刚安装了 Visual Studio 2017 社区版,如您所见,安装了 sql server express 2016 localdb:
但是,在我的计算机上找不到“SQLServerManager13.msc”(或配置管理器的任何痕迹)。
我怀疑是没安装好 但 SQL Server 配置管理器无法作为独立应用程序下载。请告知我应该做什么?
谢谢