小编Boh*_*ian的帖子

如何在sql中建立两个表之间的关系

我想在这两个表之间建立关系,我创建了两个表emp和dept,如下所示,

create table emp (
    empno number(4) constraint empnopk primary key,
    ename varchar(10) constraint enamenn not null,
    mgrno number(4) constraint mgrnofk references emp(empno),
    sal number(10) constraint salck check(sal between 2000 and 5000),
    age number(2) constraint ageck check(age>20),
    mobno number(10) constraint mobuq unique
); 

create table dept (
    deptno number(10) constraint deptnopk primary key,
    dname varchar(10) constraint dnamenn not null,
    loc varchar(10) default 'xyz'
);
Run Code Online (Sandbox Code Playgroud)

因为emp表是主表而dept表是子表,为了使这两个表之间的关系我给出了查询

alter table emp
add constraint deptnofk foreign key(deptno) references dept(deptno);
Run Code Online (Sandbox Code Playgroud)

当我给出这个查询它显示ORA-00904:"DEPTNO":无效的标识符

可能是什么问题?

sql oracle11g

0
推荐指数
1
解决办法
4168
查看次数

Java检索括号中的字符串字符

我在Java中有一个String,它以这种格式保存数据:

String x = "xxxxxx xxxxxx xxxxxx (xxx)";
Run Code Online (Sandbox Code Playgroud)

如何将该字符串的值设置为括号中的字符,而不包括括号?(请注意,每个实例中的字符大小会有所不同).

java string

0
推荐指数
1
解决办法
251
查看次数

MYSQL TIMESTAMPDIFF()给出了错误的值

我正在给输入,TIMESTAMPDIFF(HOUR,'29-10-2012','19-11-2012')但我得到输出,504但值应该是510.

输出是510因为起始值是29/10/2012 05:13.

有没有替代这个功能,它给出了两个日期之间的日,小时,分钟,秒差异?

mysql

0
推荐指数
1
解决办法
9427
查看次数

如何生成12个字节的随机数?

我正在研究C语言中的Linux项目,我需要生成12个字节的随机数.我通过互联网搜索但除了srand或随机功能之外我找不到任何其他功能.但是这些函数只能生成32位(4字节)的随机数.

我正在寻找生成12字节的随机数.

有没有人知道linux上提供此功能的库?

c linux

0
推荐指数
1
解决办法
4357
查看次数

无法通过反射实例化一个类

当我用java反射来创建对象时,它会抛出一个"java.lang.ClassNotFoundException",这是我的代码:

public class Demo {
    public static void main(String[] args) throws Exception {
        Class clazz = Class.forName("Demo");
        Demo d = (Demo) clazz.newInstance();
    }
}
Run Code Online (Sandbox Code Playgroud)

哪里我错了.

java reflection

0
推荐指数
1
解决办法
246
查看次数

解析char数据时出现分段错误(核心转储)

我需要你的帮助.我有一个从端口读取gps和加速度计数据的程序.程序的工作方式如下:当我发送'a'时,prog会收到gps数据并发送到数据库,当我发送'b'时,prog会发送加速计数据并保存到数据库中.但是当我运行程序时,gps数据成功接收并发送到数据库但加速计数据canot接收和错误是"分段错误.你能帮我解决问题吗?"

int main(void) {

    int fd;
    fd = open("/dev/ttyACM0", O_RDWR | O_NOCTTY | O_NDELAY);
    if (fd == -1) {
        perror("open_port: Unable to open port ");
    } else {
        fcntl(fd, F_SETFL, 0);
    }

    char a[] = "a";
    char b[] = "b";

    int n,m,cnt;
    char in[30];
    //char in2[50];
    //char *in;
    //char in2[100];
    //in = (char*) malloc(i+1);
    //if (in == NULL) exit(1);


    MYSQL *conn;

    const char *localhost   = "127.0.0.1";
    const char *user     = "root";
    const char *password = "";
    const char *database = …
Run Code Online (Sandbox Code Playgroud)

c segmentation-fault

0
推荐指数
1
解决办法
697
查看次数

在Callable and Future接口中使用泛型?

Callable接口中泛型有什么用?

考虑一下我从https://blogs.oracle.com/CoreJavaTechTips/entry/get_netbeans_6复制的以下代码:

import java.util.\*;
import java.util.concurrent.\*;

public class CallableExample {

  public static class WordLengthCallable
        implements Callable {
    private String word;
    public WordLengthCallable(String word) {
      this.word = word;
    }
    public Integer call() {
      return Integer.valueOf(word.length());
    }
  }

  public static void main(String args[]) throws Exception {
    ExecutorService pool = Executors.newFixedThreadPool(3);
    Set<Future<Integer>> set = new HashSet<Future<Integer>>();
    for (String word: args) {
      Callable<Integer> callable = new WordLengthCallable(word);
      Future<Integer> future = pool.submit(callable);
      set.add(future);
    }
    int sum = 0;
    for (Future<Integer> future : set) …
Run Code Online (Sandbox Code Playgroud)

java generics concurrency multithreading callable

0
推荐指数
1
解决办法
2254
查看次数

检查字符串是否以正则表达式中的点后两位数字结尾?

我正在尝试使用正则表达式测试字符串是否以 Java 中的点后的两位数结尾。怎样才能做到这一点?

像“500.23”这样的东西应该返回真,而“50.3”或“50”应该返回假。

我尝试过类似的事情,"500.00".matches("/^[0-9]{2}$/")但它返回 false。

java regex string

0
推荐指数
1
解决办法
4496
查看次数

我无法让我的方法抛出自定义异常

我有一个类EmployWorker和我为学校项目创建的超类Employee.我们应该在本周为它设置例外,并且在尝试创建其中一个时我一直收到错误.这是我的代码:

在ProductionWorker中:

   public String toString() throws InvalidShift{
      DecimalFormat dollar = new DecimalFormat("$#,##0.00");
      String str = super.toString();

      str += "The employee's pay rate is " + dollar.format(getPayRate()) +"\n";
      str += "The employee works the " + getShift() + " shift";
      return str;
   }
Run Code Online (Sandbox Code Playgroud)

super.toString类:

   public String toString() throws InvalidShift{
      String str = "The employee's name is " + getEmployeeName() + ".\n";
      if (employeeNumber.equals("")){
         str += "The employee's ID number is invalid.\n";
      }else{
         str += "The Employee's ID number is " + …
Run Code Online (Sandbox Code Playgroud)

java methods exception custom-exceptions superclass

0
推荐指数
1
解决办法
965
查看次数

如何修复"列无效,因为它不包含在聚合函数或GROUP By子句中"

我正在尝试从两个表中提取数据,这些表计算每个客户端的订单数量.下面的SQL在没有输入S.Name的情况下工作正常SELECT,但我希望输出中的客户端名称比其StoreID更有意义.当我添加S.Name时,我收到以下错误:

列'uStores.Name'在选择列表中无效,因为它不包含在聚合函数或GROUP BY子句中.

SELECT O.StoreID, COUNT(O.StoreID) AS OrderCount, S.Name
FROM Orders AS O
JOIN Stores AS ON O.StoreID = S.StoreID
GROUP BY O.StoreID
ORDER BY OrderCount DESC
Run Code Online (Sandbox Code Playgroud)

如何使此查询有效?

sql sql-server

0
推荐指数
1
解决办法
1284
查看次数