Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
982 views
in Technique[技术] by (71.8m points)

sql - Query to find Constraint by SEARCH_CONDITION

I want to find a CONSTRAINT_NAME in Oracle by SEARCH_CONDITION.

SELECT * FROM ALL_CONSTRAINTS
WHERE TABLE_NAME = 'myTableName';
AND SEARCH_CONDITION = '"myColumn" IS NOT NULL';

ORA-00997: illegal use of LONG datatype.

How to query by SEARCH_CONDITION?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

SEARCH_CONDITION is LONG so you can't use it for .... very much useful.

For this particular use, I suggest PLSQL routine to write the LONG col into a VARCHAR2(32767) and then apply the check on teh VARCHAR2 variable.

LONGs are an absolute pain.

Also, in your case you can restrict the dataset further by querying ALL_CONS_COLUMNS WHERE column_name = 'colname' and joining the ALL_CONSTRAINTS to get the SERACH_CONDITION.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...