Thanks Keith.. but I am getting an error while joining pragma table info. On Fri, Sep 28, 2018, 6:30 AM Keith Medcalf <kmedc...@dessus.com> wrote:
> > Insert the following schema views: > > > -- Catalog Views using sqlite_master for SysObjects (Object Names) > -- and the various pragma_<infotype>(ObjectName) tables to retrieve schema > data > -- all TEXT columns in views have "collate nocase" attachmented to the > output > -- columns to ensure that where conditions on retrievals are not case > sensitive > -- Column Names in views defined so as to not conflict with keywords to > ensure > -- quoting when using views is not required > > drop view if exists SysIndexColumns; > drop view if exists SysIndexes; > drop view if exists SysColumns; > drop view if exists SysObjects; > > create view if not exists SysObjects > as > select ObjectType collate nocase, > ObjectName collate nocase > from ( > select type as ObjectType, > name as ObjectName > from sqlite_master > where type in ('table', 'view', 'index') > ); > > create view if not exists SysColumns > as > select ObjectType collate nocase, > ObjectName collate nocase, > ColumnID collate nocase, > ColumnName collate nocase, > Type collate nocase, > Affinity collate nocase, > isNotNull, > DefaultValue, > isPrimaryKey > from ( > select ObjectType, > ObjectName, > cid as ColumnID, > name as ColumnName, > type as Type, > --- Affinity Rules from > https://www.sqlite.org/datatype3.html Section 3.1 > case when trim(type) = '' then 'Blob' > when instr(UPPER(type), 'INT') > 0 then 'Integer' > when instr(UPPER(type), 'CLOB') > 0 then 'Text' > when instr(UPPER(type), 'CHAR') > 0 then 'Text' > when instr(UPPER(type), 'TEXT') > 0 then 'Text' > when instr(UPPER(type), 'BLOB') > 0 then 'Blob' > when instr(UPPER(type), 'REAL') > 0 then 'Real' > when instr(UPPER(type), 'FLOA') > 0 then 'Real' > when instr(UPPER(type), 'DOUB') > 0 then 'Real' > else 'Numeric' > end as Affinity, > "notnull" as isNotNull, > dflt_value as DefaultValue, > pk as isPrimaryKey > from SysObjects > join pragma_table_info(ObjectName) > ); > > create view if not exists SysIndexes > as > select ObjectType collate nocase, > ObjectName collate nocase, > IndexName collate nocase, > IndexID, > isUniqueIndex, > IndexOrigin collate nocase, > isPartialIndex > from ( > select ObjectType, > ObjectName, > name as IndexName, > seq as IndexID, > "unique" as isUniqueIndex, > origin as IndexOrigin, > partial as isPartialIndex > from SysObjects > join pragma_index_list(ObjectName) > ); > > create view if not exists SysIndexColumns > as > select ObjectType collate nocase, > ObjectName collate nocase, > IndexName collate nocase, > IndexColumnSequence, > ColumnID, > ColumnName collate nocase, > isDescendingOrder, > Collation collate nocase, > isPartOfKey > from ( > select ObjectType, > ObjectName, > IndexName, > seqno as IndexColumnSequence, > cid as ColumnID, > name as ColumnName, > "desc" as isDescendingOrder, > coll as Collation, > key as isPartOfKey > from SysIndexes > join pragma_index_xinfo(IndexName) > ); > > then > > select ObjectName as TableName > from SysColumns > where ColumnName == ? > and ObjectType = 'table'; > > > --- > The fact that there's a Highway to Hell but only a Stairway to Heaven says > a lot about anticipated traffic volume. > > > >-----Original Message----- > >From: sqlite-users [mailto:sqlite-users- > >boun...@mailinglists.sqlite.org] On Behalf Of Revathi Narayanan > >Sent: Thursday, 27 September, 2018 07:44 > >To: sqlite-users@mailinglists.sqlite.org > >Subject: [sqlite] How to retrieve table names for the given string > > > >Hi, > > > >I have one requirement like I want to display all the table names for > >the > >given column name. > > > >Ex: If the table T1 and T2 has column names like C1 then it should > >display > >both the table names T1 and T2. > > > >I tried to execute the query using sqlitemaster. But it's displaying > >only > >table names not column names. > > > >Kindly do the needful. > > > > > >Thanks > >_______________________________________________ > >sqlite-users mailing list > >sqlite-users@mailinglists.sqlite.org > >http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users > > > > _______________________________________________ > sqlite-users mailing list > sqlite-users@mailinglists.sqlite.org > http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users > _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users