1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106
|
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
-
- This file is part of the OpenLink Software Virtuoso Open-Source (VOS)
- project.
-
- Copyright (C) 1998-2018 OpenLink Software
-
- This project is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; only version 2 of the License, dated June 1991.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
-
-->
<refentry id="fn_sql_primary_keys">
<refmeta>
<refentrytitle>sql_primary_keys</refentrytitle>
<refmiscinfo>rmt</refmiscinfo>
</refmeta>
<refnamediv>
<refname>sql_primary_keys</refname>
<refpurpose>get primary key information about a table on a remote DSN</refpurpose>
</refnamediv>
<refsynopsisdiv>
<funcsynopsis id="fsyn_sql_primary_keys">
<funcprototype id="fproto_sql_primary_keys">
<funcdef>vector <function>sql_primary_keys</function></funcdef>
<paramdef>in <parameter>dsn</parameter> varchar</paramdef>
<paramdef>in <parameter>qualifier</parameter> varchar</paramdef>
<paramdef>in <parameter>owner</parameter> varchar</paramdef>
<paramdef>in <parameter>table_name</parameter> varchar</paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1 id="desc_sql_primary_keys">
<title>Description</title>
<para>You can use the functions described here to find out information about the
remote datasources that you are using. These could be especially useful in Virtuoso PL
later on if you are not able to know everything about the remote tables ahead of time for
the ATTACH TABLE statement.
statement</para>
<para>These SQL functions correspond to the ODBC catalog calls of similar name.
These are used to access the data dictionary of remote data sources inside the
ATTACH TABLE process.</para>
<para>The dsn argument must refer to a dsn previously defined by
vd_remote_data_source or ATTACH TABLE.</para>
<para>For instance, the qualifier argument corresponds to the szTableQualifier and
cbTableQualifier arguments of an ODBC catalog function. A SQL NULL value
corresponds to the C NULL value. The arguments can contain % signs, which
are interpreted as in LIKE.</para>
<para>These functions return an array, with one element for each row of the result set.
Each row is represented as an array with one element for each column.</para>
</refsect1>
<refsect1 id="params_sql_primary_keys">
<title>Parameters</title>
<refsect2><title>dsn</title>
<para>The data source name <type>string</type></para>
</refsect2>
<refsect2><title>qualifier</title>
<para>Qualifier <type>string</type>. May contain wildcards as in 'De%'.</para>
</refsect2>
<refsect2><title>owner</title>
<para>Table owner <type>string</type>. May contain wildcard characters in 'Dem%'.</para>
</refsect2>
<refsect2><title>table_name</title>
<para>Table name <type>string</type>. May contain wildcard characters in 'Cust%'.</para>
</refsect2>
</refsect1>
<refsect1 id="ret_sql_primary_keys"><title>Return Types</title>
<para>As defined in ODBC API for the corresponding catalog call.</para>
<para>An array, with one element for each row of the result set.
Each row is represented as an array with one element for each column.</para>
</refsect1>
<refsect1 id="examples_sql_primary_keys">
<title>Examples</title>
<example id="ex_sql_primary_keys"><title>Simple Example</title>
<screen><![CDATA[
dbg_obj_print (sql_primary_keys ('Local Virtuoso', 'Demo', NULL, 'Orders'));
->
(
("Demo" "demo" "Orders" "OrderID" 1 "Orders" "Demo" "demo" "Orders" )
)
]]>
</screen>
</example>
</refsect1>
<refsect1 id="seealso_sql_primary_keys">
<title>See Also</title>
<para><link linkend="fn_sql_data_sources"><function>sql_data_sources</function></link>,
<link linkend="fn_sql_columns"><function>sql_columns</function></link>
<link linkend="fn_sql_gettypeinfo"><function>sql_gettypeinfo</function></link>,
<link linkend="fn_sql_statistics"><function>sql_statistics</function></link>,
<link linkend="fn_sql_tables"><function>sql_tables</function></link>.</para>
</refsect1>
</refentry>
|