About
data upsert is a tabul command that supports the insert data operation where the data to insert are defined in a source data resource.
This is an alias command of the data transfer command where the transfer-operation option has been set to insert.
Prerequisites
Syntax
tabul data insert -h
Tabul data insert
=================
Insert one or more data resources into other data resources.
Note: This is an alias command to the `transfer` command with the `insert` transfer operation.
Examples
--------
1 - To insert the table `time` from the data store `sqlite` into the file `time.csv`, you would execute
tabul data insert time@sqlite time.csv
2 - To insert the result of the Sql query `query_11.sql` into the Sql table `analytics`, you would execute
tabul data insert (query_11.sql)@sqlite analytics@sqlite
3 - To insert the file `foo.txt` into the file `bigfoo.txt`, you would execute
tabul data insert foo.txt bigfoo.txt
Syntax
------
tabul data insert [options|flags] <source-selector...> <target-data-uri>
where:
Arguments:
<source-selector...> A data selector that select the data resources to transfer
<target-data-uri> A target data uri (Example: table@connection or foo.csv@cd)
Cross Data Transfer Options:
-bs,--buffer-size <buffer-size> defines the size of the memory buffer between the source and target threads
-mdu,--metrics-data-uri <metrics-data-uri> defines a target data uri where the data metrics should be exported
-out,--output-type <output-type> The resource that is passed as output
-pt,--processing-type <processing-type> how to process the inputs (one by one or in batch)
-sfs,--source-fetch-size <source-fetch-size> defines the size of the network message from the source to fetch the data
-so,--source-operation <source-operation> defines the data operation (drop or truncate) on the source after transfer. Note: A `move` operation will drop the source.
-tbs,--target-batch-size <target-batch-size> defines the batch size against the target data resource
-tcf,--target-commit-frequency <target-commit-frequency> defines the commit frequency in number of batches against the target data resource
-to,--target-operation <target-operation> defines the data operations (drop or truncate) on the existing target before transfer. A `replace` operation will drop the target.
-twc,--target-worker-count <target-worker-count> defines the target number of thread against the target connection
-tmc,--transfer-mapping-columns <transfer-mapping-columns> defines the columns mapping between the source and the target
-tmm,--transfer-mapping-method <transfer-mapping-method> defines the method used to map the source columns to the target columns
-tms,--transfer-mapping-strict <transfer-mapping-strict> defines if a map by name or position is strict
-op,--transfer-operation <transfer-operation> defines the transfer operation (insert, update, delete, upsert, merge, copy).
-tut,--transfer-upsert-type <transfer-upsert-type> defines the type of upsert operation (merge, insert, insert-update, update-insert).
-wp,--with-parameters defines if parameters are used in the SQL statement
Data Definition Options:
-sa,--source-attribute <attributeName=value> Set a source attribute
-ta,--target-attribute <attributeName=value> Set a target attribute
Selection Options:
--strict-selection If set the selection will return an error if no data resources have been selected
-wd,--with-dependencies If set, the dependencies will be also selected
Options:
-t,--type <mediaType|mimeType|extensionFile> The type of the resource
-vc,--virtual-column <columnName=resourceAttributeName> Add a virtual column with the value of a data resource attribute
Global Options:
-ah,--app-home <path> The app home directory (default to the .tabul.yml file directory)
-vf,--conf <path> The path to a configuration file
-ee,--exec-env <name> The execution environment (prod or dev)
-h,--help Print this help
-l,--log-level <error|warning|tip|info|fine> Set the log level
-ns,--not-strict A minor error will not stop the process.
-odu,--output-data-uri <outputDataUri> defines the output data uri for the feedback data (default: console)
-oo,--output-operation <dataOperation> defines the data operations (replace, truncate) on an existing output resource before transfer.
-oop,--output-transfer-operation <transferOperation> defines the output transfer operation (insert, update, merge, copy). Default to `copy` for a file system and `insert` for a database.
-pp,--passphrase <passphrase> A passphrase (master password) to decrypt the encrypted vault values (Env: TABUL_PASSPHRASE)
--pipe-mode Use pipe mode if you want to pipe the output in a shell. Pipe mode will not print the headers (ie column name) and will not make the control character visible
-v,--version Print version information