小编Chr*_*her的帖子

Oracle复合主键/外键问题

我在oracle的1个表中有一个复合主键.我想为我的第二个表中的一个表项创建一个外键,该表引用第一个表中的复合主键.我收到错误ORA-02256.关于如何进入这个的任何想法?

CREATE TABLE groupspersonx ( 
  personid number, 
  groupid number, 
  CONSTRAINT pk_persongroupid PRIMARY KEY(personid, groupid) 
); 

CREATE TABLE restrictedgroups ( 
  groupid number, 
  name varchar2(50), 
  dateadded date, 
  since date, 
  notes varchar2(1024), 
  CONSTRAINT pk_groupid PRIMARY KEY(groupid), 
  CONSTRAINT fk_persongroup FOREIGN KEY(groupid) REFERENCES groupspersonx(personid, groupid) 
); 
Run Code Online (Sandbox Code Playgroud)

sql oracle composite-key

12
推荐指数
1
解决办法
6万
查看次数

在WHERE CONTAINS子句的视图上没有使用索引

我创建了一个表,其中一列是地址.然后我创建了一个带有WHERE CONTAINS子句的视图,该子句指出select只能在包含特定单词的地址上执行.

然后,我在原始表上创建了一个地址列的索引.

它说索引创建了.

当我输入

select * from myview
Run Code Online (Sandbox Code Playgroud)

它说

drg-10599: column is not indexed.  
Run Code Online (Sandbox Code Playgroud)

知道为什么这不起作用吗?

oracle indexing view

5
推荐指数
1
解决办法
7497
查看次数

2,oracle表只有2个字符

我试图在oracle中创建一个表,它将接受2个而且只有2个字符.我尝试使用char(2),但如果我在insert语句中输入1个字符,它将接受它.如何让oracle只接受2个精确字符的任何插入并拒绝1和3及更高的字符?我在互联网上搜索过,似乎无法找到答案.

谢谢!克里斯托弗

oracle

4
推荐指数
1
解决办法
114
查看次数

从日期时间删除破折号

如何从此代码的输出中删除破折号?

import datetime

date = datetime.date(2014,1,1)

for i in range(50): 
    date += datetime.timedelta(days=1)
    print(date)
Run Code Online (Sandbox Code Playgroud)

我希望输出为:

20140102
20140103
20140104
20140105
20140106
Run Code Online (Sandbox Code Playgroud)

python datetime

2
推荐指数
1
解决办法
3329
查看次数

如果数字为 1,则从 pandas 列中删除第一个字符

下面的代码删除任何电话号码列中的任何破折号。如果电话号码以 1 开头,我如何还删除这些列中电话号码的第一个字符。我基本上希望所有十位数字都没有前导 1。

import pandas as pd
import numpy as np
import re

df = pd.read_csv('test2.csv')

cols_to_check = ['Phone', 'phone', 'Phone.1']

df[cols_to_check] = df[cols_to_check].replace({'-':''}, regex=True)

df.to_csv('testnew.csv', mode = 'w', index=False)
Run Code Online (Sandbox Code Playgroud)

python pandas

2
推荐指数
1
解决办法
8216
查看次数

在Oracle中,如何在同一列上使用两个不同的函数?

我试图在一列上使用两个不同的字符串函数(initcap和trim),我希望它只显示应用了两个函数的一列.一般来说,如何在一列上使用两个或多个函数?

string oracle function

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

隐藏特定列的输出

我编写了一个包含存储过程和REF游标的包.我现在可以通过这个光标显示表格中的所有列.我希望能够插入一个循环,如果满足某个条件,七个列中的四个将显示四个星号,其余列将显示其正常数据.

例如,我有一个名为country的列.每当美国出现在记录中时,(empid,ss,address,dept)的四列将只需显示****,而其余列将显示为正常.如果非美国的国家/地区在记录中,则所有列都将正常显示数据.我知道有一个noprint函数,但我似乎无法弄清楚如何只显示星号.

sql security oracle database-cursor

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