GoGPT Best VPN GoSearch

OnWorks favicon

sqsh - ອອນລາຍໃນຄລາວ

ແລ່ນ sqsh ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີຜ່ານ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator

ນີ້ແມ່ນຄໍາສັ່ງ sqsh ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍໆບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator

ໂຄງການ:

NAME


sqsh - ແກະຖານຂໍ້ມູນແບບໂຕ້ຕອບ (ເວີຊັນ 2.1.7)

ສະຫຼຸບສັງລວມ


sqsh [[ທາງເລືອກ]] [[args......]]
[ - ນັບ​]
[ -A packet_size ]
[ -b ]
[ -B ]
[ -c [cmdend] ]
[ -C sql ]
[-d ຄວາມ​ຮຸນ​ແຮງ​]
[ -D ຖານ​ຂໍ້​ມູນ​]
[ -e ]
[ -E ບັນ​ນາ​ທິ​ການ​]
[-f ຄວາມ​ຮຸນ​ແຮງ​]
[ -G tds_version ]
[ -ຊ ]
[ -H ຊື່ເຈົ້າພາບ ]
[ -i ຊື່​ໄຟລ​໌​]
[ -I ການ​ໂຕ້​ຕອບ​]
[ -J ຕົວ​ອັກ​ສອນ​]
[ -k ຄໍາ​]
[ -K ປຸ່ມ​]
[ -l debug_flags ]
[ -L var=value ]
[ -m ແບບ​]
[ -n ເປີດ|ປິດ ]
[ -N appname ]
[ -o ຊື່​ໄຟລ​໌​]
[ -p ]
[ -P [ລະຫັດຜ່ານ]]
[ -Q query_timeout ]
[ -r [sqshrc] ]
[ -R ຫຼັກເຊີບເວີ ]
[ -s colsep ]
[ -S ເຊີບເວີ ]
[ -t [ການກັ່ນຕອງ] ]
[ -T login_timeout ]
[ - ຊື່​ຜູ້​ໃຊ້​]
[ -v ]
[ -V [bcdimoqru]]
[ -w width ]
[ -X ]
[ -y directory ]
[ -z ພາ​ສາ​]
[ -Z [secmech|ຄ່າເລີ່ມຕົ້ນ|ບໍ່ມີ]]

ລາຍລະອຽດ


Sqsh (ອອກສຽງ skwish) ແມ່ນສັ້ນສໍາລັບ SQshelL (ອອກສຽງ sq-shell), ແລະມີຈຸດປະສົງເປັນ
ການທົດແທນສໍາລັບໂຄງການ 'isql' ທີ່ມີຊື່ສຽງທີ່ສະຫນອງໂດຍ Sybase. ມັນເກີດຂຶ້ນຍ້ອນການ
ປີຂອງຄວາມອຸກອັ່ງຂອງຄວາມພະຍາຍາມເຮັດວຽກທີ່ແທ້ຈິງກັບໂຄງການທີ່ບໍ່ເຄີຍໄດ້ຫມາຍຄວາມວ່າ
ປະຕິບັດວຽກງານຕົວຈິງ.

Sqsh ແມ່ນຫຼາຍກ່ວາການກະຕຸ້ນເຕືອນທີ່ສວຍງາມ, ມັນມີຈຸດປະສົງເພື່ອສະຫນອງການເຮັດວຽກຫຼາຍ
ສະຫນອງໃຫ້ໂດຍແກະທີ່ດີ, ເຊັ່ນ: ຕົວແປ, aliasing, redirection, ທໍ່, back-grounding,
ການຄວບຄຸມວຽກ, ປະຫວັດສາດ, ການທົດແທນຄໍາສັ່ງ, ແລະການຕັ້ງຄ່າແບບເຄື່ອນໄຫວ. ນອກ​ຈາກ​ນີ້​, ເປັນ​ໂດຍ -
ຜະລິດຕະພັນຂອງການອອກແບບ, ມັນເປັນຂໍ້ສັງເກດງ່າຍທີ່ຈະຂະຫຍາຍແລະເພີ່ມການເຮັດວຽກ.

OPTIONS


ທາງເລືອກຕໍ່ໄປນີ້ອາດຈະຖືກນໍາໃຊ້ເພື່ອປັບບາງພຶດຕິກໍາຂອງ sqsh, ຢ່າງໃດກໍຕາມຂະຫນາດໃຫຍ່
ສ່ວນຂອງທາງເລືອກໃນການຕັ້ງຄ່າແມ່ນມີຢູ່ຜ່ານຕົວແປສະພາບແວດລ້ອມເທົ່ານັ້ນ
ເຊິ່ງອາດຈະຖືກຕັ້ງໃນເວລາແລ່ນ ຫຼືຜ່ານໄຟລ໌ .sqshrc.

ທາງເລືອກອາດຈະຖືກສະຫນອງໃຫ້ຢູ່ໃນຕົວແປສະພາບແວດລ້ອມ SQSH. ຕົວແປນີ້ຖືກວິເຄາະແລ້ວ
ກ່ອນທີ່ຈະແຍກສາຍຄໍາສັ່ງ, ດັ່ງນັ້ນໃນກໍລະນີຫຼາຍທີ່ສຸດ, ເສັ້ນຄໍາສັ່ງຈະ override
ເນື້ອໃນຂອງຕົວແປ. ຈົ່ງຮູ້ວ່າສໍາລັບທາງເລືອກທີ່ອະນຸຍາດໃຫ້ສະຫນອງ
ຫຼາຍຄັ້ງ, ເຊັ່ນ: -c, ການສະຫນອງໃຫ້ເຂົາເຈົ້າທັງສອງຢູ່ໃນຕົວແປແລະໃນເສັ້ນຄໍາສັ່ງຈະ
ຄືກັນກັບການສະຫນອງໃຫ້ເຂົາເຈົ້າຫຼາຍຄັ້ງໃນແຖວຄໍາສັ່ງ.

- ນັບ
ກໍານົດສູງສຸດ ນັບ ຂອງຄວາມລົ້ມເຫລວ (ຕາມທີ່ກໍານົດໂດຍຕົວແປ $thresh_fail) ນັ້ນ
ອາດຈະເກີດຂຶ້ນກ່ອນທີ່ sqsh ຈະເອົາລູກອອກ. ການຕັ້ງຄ່ານີ້ເປັນ 0 ສະແດງໃຫ້ເຫັນວ່າ sqsh ບໍ່ຄວນ
ອອກ​ຈາກ​ຄວາມ​ຜິດ​ພາດ​. ຄ່ານີ້ເລີ່ມຕົ້ນເປັນ 0 ແລະອາດຈະຖືກຕັ້ງໂດຍໃຊ້ $thresh_exit
ຕົວແປ. ເບິ່ງພາກ ອອກ STATUS ສໍາລັບລາຍລະອຽດ.

- ຂະ​ຫນາດ​ຊຸດ​
ລະບຸຂະໜາດຂອງແພັກເກັດ TDS ເຄືອຂ່າຍທີ່ໃຊ້ເພື່ອຕິດຕໍ່ສື່ສານກັບເຊີບເວີ SQL.
ຄ່ານີ້ຈະຕ້ອງຢູ່ລະຫວ່າງ 512 ຫາ 8192, ແລະເປັນຕົວຄູນຂອງ 512. ກວດເບິ່ງ SQL ຂອງທ່ານ.
ການຕັ້ງຄ່າເຊີບເວີເພື່ອກໍານົດຂະຫນາດແພັກເກັດທີ່ຮອງຮັບ. ມູນຄ່ານີ້ອາດຈະເປັນ
ລະບຸໃນເວລາແລ່ນໂດຍໃຊ້ຕົວແປ $packet_size.

-b ສະກັດກັ້ນຂໍ້ຄວາມປ້າຍໂຄສະນາເມື່ອເລີ່ມຕົ້ນ. ນີ້ແມ່ນບໍ່ຈໍາເປັນໃນກໍລະນີທີ່ stdout
ໄດ້ຖືກໂອນໄປຫາໄຟລ໌. ຕົວເລືອກນີ້ອາດຈະຖືກຕັ້ງຜ່ານຕົວແປ $banner.

-B ປິດ buffering ທັງໝົດຂອງ stdin, stdout, ແລະ stderr. ຄຸນນະສົມບັດນີ້ອະນຸຍາດໃຫ້ sqsh ເປັນ
ດໍາເນີນການຈາກສະຄິບຄວບຄຸມແບບໂຕ້ຕອບເຊັ່ນການສົນທະນາແລະຄາດຫວັງ.

-c [cmdend]
ພາຍໃນ sqsh ສະຫນອງຄໍາສັ່ງ \ ໄປ ເພື່ອສົ່ງ batch ຂອງ SQL ກັບຖານຂໍ້ມູນແລະ
ສະຫນອງນາມແຝງດຽວ, go ສໍາລັບຄໍາສັ່ງນີ້. ແຕ່ລະຄັ້ງ cmdend ແມ່ນໃຫ້ນາມແຝງໃໝ່
ສໍາລັບການ \ ໄປ ຖືກສ້າງຕັ້ງຂຶ້ນ.

-C sql
ສາເຫດຂອງ sql ຄໍາສັ່ງທີ່ຈະປະຕິບັດໂດຍ sqsh, ຄ້າຍຄືກັບພຶດຕິກໍາດຽວກັນທີ່ສະແດງ
ໂດຍທຸງ -i. ນີ້ sql ຄໍາຖະແຫຼງການອາດຈະບໍ່ມີວົງຢືມຄູ່ (ຂໍ້ຈໍາກັດນີ້ອາດຈະ
ໄດ້ຮັບການຍົກຂຶ້ນມາໃນການປ່ອຍ sqsh ໃນອະນາຄົດ).

-d ຄວາມ​ຮຸນ​ແຮງ​
ກໍານົດຄວາມຮ້າຍແຮງຂອງຄວາມຜິດພາດ SQL Server ຕໍາ່ສຸດທີ່ຈະສະແດງໃຫ້ຜູ້ໃຊ້. ໄດ້
ຄ່າເລີ່ມຕົ້ນແມ່ນ 0, ແລະໄລຍະທີ່ຖືກຕ້ອງແມ່ນຕັ້ງແຕ່ 0 ຫາ 22. ອັນນີ້ອາດຈະຖືກຕັ້ງໂດຍໃຊ້
$thresh_display ຕົວແປ. ເບິ່ງພາກ ອອກ STATUS.

-D ຖານ​ຂໍ້​ມູນ​
ເຮັດໃຫ້ sqsh ພະຍາຍາມເລີ່ມຕົ້ນດ້ວຍເນື້ອໃນຖານຂໍ້ມູນຂອງທ່ານຕັ້ງເປັນ ຖານຂໍ້ມູນ ແທນ​ທີ່​ຈະ
ຖານຂໍ້ມູນເລີ່ມຕົ້ນຂອງທ່ານ (ປົກກະຕິແລ້ວແມ່ບົດ). ອັນນີ້ອາດຈະຖືກຕັ້ງໂດຍໃຊ້ $database
ຕົວແປ.

-e ລວມເອົາແຕ່ລະຄໍາສັ່ງອອກໃຫ້ sqsh ເພື່ອລວມເຂົ້າໃນຜົນຜະລິດ. ທາງເລືອກນີ້ອາດຈະ
ຍັງຖືກຕັ້ງຄ່າຜ່ານຕົວແປ $echo (ເຊິ່ງບໍ່ກ່ຽວຂ້ອງກັບ \ ສຽງດັງ ຄໍາສັ່ງ).

-E ບັນນາທິການ
ຕັ້ງຕົວແກ້ໄຂເລີ່ມຕົ້ນເປັນ ບັນນາທິການ. ອັນນີ້ອາດຈະຖືກຕັ້ງໂດຍໃຊ້ສະພາບແວດລ້ອມ UNIX
ຕົວແປ $EDITOR ກັບຊື່ຂອງບັນນາທິການທີ່ຕ້ອງການ.

-f ຄວາມ​ຮຸນ​ແຮງ​
ກໍານົດຕໍາ່ສຸດທີ່ ຄວາມຮຸນແຮງ ລະດັບພິຈາລະນາຄວາມລົ້ມເຫລວໂດຍ sqsh. ນີ້ແມ່ນຄືກັນກັບ
ຕັ້ງຄ່າຕົວແປ $thresh_fail. ເບິ່ງພາກ ອອກ STATUS ສໍາລັບລາຍລະອຽດ.

-G tds_version
ຕັ້ງຄ່າເວີຊັນ TDS ເພື່ອໃຊ້. ລຸ້ນທີ່ຖືກຕ້ອງແມ່ນ 4.0, 4.2, 4.6, 4.9.5, 5.0 ແລະ freetds
ນອກ​ຈາກ​ນັ້ນ​ສະ​ຫນັບ​ສະ​ຫນູນ​ສະ​ບັບ 7.0 ແລະ 8.0​. ຄ່າທີ່ລະບຸໄວ້ແມ່ນມອບໃຫ້
ຕົວປ່ຽນ $tds_version. ການກວດສອບການປ້ອນຂໍ້ມູນບໍ່ໄດ້ດໍາເນີນການໂດຍ sqsh. ຢ່າງໃດກໍຕາມ, ໃນເວລາທີ່
ເວີຊັ່ນ TDS ທີ່ບໍ່ຖືກຕ້ອງຖືກລະບຸໄວ້, ເວີຊັນເລີ່ມຕົ້ນຂອງ 5.0 ຈະຖືກນໍາໃຊ້. ຫຼັງຈາກ ກ
ເຊດຊັນຖືກຕັ້ງຄ່າ, ຕົວປ່ຽນແປງ $tds_version ຈະຖືກຕັ້ງເປັນສະບັບ TDS ມີຜົນບັງຄັບໃຊ້.
ຕົວແປຈະບໍ່ສາມາດໃຊ້ໄດ້ຖ້າທາງເລືອກ -G ບໍ່ໄດ້ໃຊ້. ຫມາຍຄວາມວ່າສໍາລັບການທົດສອບແລະ
ຈຸດປະສົງ debugging ເທົ່ານັ້ນ.

TDS ຫຍໍ້ມາຈາກ Tabular Data Stream ແລະເປັນໂປໂຕຄອນການສື່ສານ Sybase ແລະ
Microsoft ໃຊ້ສໍາລັບການສື່ສານລູກຄ້າ-ເຊີບເວີ.

-h ປິດສ່ວນຫົວຖັນ ແລະຕິດຕາມ "(# ແຖວທີ່ໄດ້ຮັບຜົນກະທົບ)" ຈາກຜົນຜະລິດ batch.

-H ຊື່ເຈົ້າພາບ
ຕັ້ງຊື່ໂຮດຂອງລູກຄ້າຕາມທີ່ລາຍງານໃນ sysprocesses. ອັນນີ້ອາດຈະຖືກຕັ້ງຜ່ານ
$hostname ຕົວແປ.

-i ຊື່​ໄຟລ​໌​
ອ່ານການປ້ອນຂໍ້ມູນທັງໝົດຈາກ ຊື່​ເອ​ກະ​ສານ ແທນທີ່ຈະມາຈາກ stdin.

-I ການໂຕ້ຕອບ
ໃນເວລາທີ່ການເຊື່ອມຕໍ່ໄດ້ຖືກສ້າງຕັ້ງຂຶ້ນກັບຖານຂໍ້ມູນ, ໄດ້ ອິນເຕີເຟດ ໄຟລ໌ຖືກນໍາໃຊ້ເພື່ອຫັນ
ຄ່າຂອງ $DSQUERY ເຂົ້າໄປໃນ hostname ແລະພອດທີ່ຈະເຊື່ອມຕໍ່,
ໂດຍຄ່າເລີ່ມຕົ້ນນີ້ແມ່ນຢູ່ໃນ $SYBASE/interfaces. ທຸງນີ້ອະນຸຍາດໃຫ້ເປັນຄ່າເລີ່ມຕົ້ນນີ້
ເກີນ.

-J ຕົວອັກສອນ
ລະບຸຕົວອັກສອນທີ່ກໍານົດໄວ້ເພື່ອໃຊ້ໃນດ້ານລູກຄ້າເພື່ອຕິດຕໍ່ສື່ສານກັບ SQL
ເຊີບເວີ. ອັນນີ້ອາດຈະຖືກຕັ້ງໂດຍໃຊ້ຕົວແປສະພາບແວດລ້ອມ $charset.

-k ຄໍາສໍາຄັນ
ລະບຸໄຟລ໌ທີ່ມີບັນຊີລາຍຊື່ຂອງຄໍາສໍາຄັນທີ່ຈະນໍາໃຊ້ສໍາລັບການສໍາເລັດແຖບຄໍາສໍາຄັນ,
ຖ້າການສະຫນັບສະຫນູນ readline ໄດ້ຖືກລວບລວມເຂົ້າໄປໃນ sqsh. ໄຟລ໌ນີ້ອາດຈະຖືກຕັ້ງຜ່ານ
ຕົວແປ $keyword_file, ເຊິ່ງຄ່າເລີ່ມຕົ້ນເປັນ $HOME/.sqsh_words.

-K ປຸ່ມ
ສະຫນັບສະຫນູນ Kerberos. ລະບຸຊື່ໄຟລ໌ແທັບຄີສໍາລັບ DCE.

ເບິ່ງພາກສະຫນັບສະຫນູນ Kerberos ຂ້າງລຸ່ມນີ້ສໍາລັບລາຍລະອຽດ.

-l debug_flags
ຖ້າ sqsh ໄດ້ຖືກລວບລວມດ້ວຍ -DDEBUG, ທາງເລືອກນີ້ອາດຈະຖືກນໍາໃຊ້ເພື່ອເປີດແລະປິດ
ທາງເລືອກໃນການດີບັກ. ເບິ່ງຕົວແປ $debug, ຂ້າງລຸ່ມນີ້.

-L var=ຄ່າ
ຕັ້ງຄ່າຂອງ $var ເປັນ ມູນຄ່າ. ນີ້ອາດຈະຖືກນໍາໃຊ້ເພື່ອກໍານົດຄ່າຂອງ sqsh ໃດ
ຕົວແປເຖິງແມ່ນວ່າຕົວແປແຖວຄໍາສັ່ງທີ່ຊັດເຈນແມ່ນສະຫນອງໃຫ້ສໍາລັບການຕັ້ງຄ່າ
ຕົວແປ. ໄດ້ -L ທຸງອາດຈະຖືກໃຊ້ເພື່ອກໍານົດຄ່າຂອງຕົວແປທີ່ບໍ່ແມ່ນການຕັ້ງຄ່າເປັນ
ດີ.

-m ແບບ
ປ່ຽນຮູບແບບການສະແດງຜົນປັດຈຸບັນເປັນ ແບບ. ຮູບແບບທີ່ຮອງຮັບໃນປະຈຸບັນແມ່ນ ຂອບຟ້າ,
ສີຂຽວ, bcp, csv, html, meta, pretty ແລະ none. ຮູບແບບການສະແດງປັດຈຸບັນອາດຈະຖືກຕັ້ງ
ການນໍາໃຊ້ຕົວແປ $style ຫຼືຜ່ານ -m ທຸງໄປຫາ \ ໄປ ຄໍາສັ່ງ.

-n ເປີດ|ປິດ
ເປີດໃຊ້ໂໝດການເຮັດທຸລະກຳແບບຕ່ອງໂສ້ໃນການເຊື່ອມຕໍ່ (ຖ້າຕັ້ງເປັນເປີດ). ໂໝດການເຮັດທຸລະກຳແບບຕ່ອງໂສ້
ຍັງເປັນທີ່ຮູ້ຈັກເປັນ "AutoCommit off".

-N appname
ຕັ້ງຊື່ແອັບພລິເຄຊັນທີ່ sqsh ໃຊ້ເພື່ອລະບຸຕົວຕົນຂອງເຄື່ອງແມ່ຂ່າຍ SQL. ໄດ້
ຊື່ແອັບພລິເຄຊັນສາມາດດຶງມາຈາກເຄື່ອງແມ່ຂ່າຍໂດຍໃຊ້ຄໍລໍາ program_name ຂອງ
ຕາຕະລາງ master.dbo.sysprocesses. ຄ່າເລີ່ມຕົ້ນເປັນ sqsh-2.1.7.

-o ຊື່​ໄຟລ​໌​
ປ່ຽນເສັ້ນທາງຜົນຜະລິດທັງໝົດໄປຫາ ຊື່​ເອ​ກະ​ສານ ແທນທີ່ຈະ stdout.

-p ສະແດງສະຖິຕິການປະຕິບັດເມື່ອສໍາເລັດທຸກ SQL batch. ທາງເລືອກນີ້ອາດຈະ
ຍັງຖືກເປີດໃຊ້ຜ່ານຕົວແປສະຖິຕິ $, ຫຼືໂດຍການສະຫນອງ -p ທຸງໄປຫາ \ ໄປ
ຄໍາສັ່ງ.

-P [ລະຫັດຜ່ານ]
The Sybase ລະຫັດຜ່ານ ສໍາລັບການ ຊື່ຜູ້ໃຊ້ ຕ້ອງການເພື່ອເຊື່ອມຕໍ່ກັບ ເຄື່ອງແມ່ຂ່າຍ (ຄ່າເລີ່ມຕົ້ນ, NULL). ໄດ້
ລະຫັດຜ່ານ ອາດຈະຖືກຕັ້ງຜ່ານ $password. ການສະຫນອງລະຫັດຜ່ານຂອງ '-' ເຮັດໃຫ້ເກີດການ
ລະຫັດຜ່ານທີ່ຈະອ່ານຈາກແຖວທໍາອິດຂອງ stdin.

sqsh ໃຊ້ເວລາເຈັບປວດເພື່ອຊ່ອນລະຫັດຜ່ານຈາກຜູ້ໃຊ້ໃດໆທີ່ພະຍາຍາມເບິ່ງເສັ້ນຄໍາສັ່ງ
ໃຊ້ເພື່ອເປີດຕົວ sqsh, ດັ່ງນັ້ນການນໍາໃຊ້ -P ບໍ່ຄວນປະກອບເປັນຂຸມຄວາມປອດໄພ.
ອີກທາງເລືອກ, ທ່ານສາມາດເກັບຮັກສາລະຫັດຜ່ານເລີ່ມຕົ້ນຂອງທ່ານໃນໄຟລ໌ .sqshrc ເຊິ່ງບໍ່ແມ່ນ
ສາມາດອ່ານໄດ້ໂດຍຜູ້ອື່ນນອກເໜືອໄປຈາກຕົວທ່ານເອງ. (chmod 600 .sqshrc)

-Q ມູນ​ຄ່າ​
ຄ່າເວລາການສອບຖາມ (ເທົ່າກັບທາງເລືອກ -t ຂອງ isql). ຖ້າຕັ້ງໄວ້, ຈະໝົດເວລາດົນ
ແລ່ນແບບສອບຖາມ. ແຜນທີ່ໄປ $query_timeout ຕົວແປ.

ຍົກ​ຕົວ​ຢ່າງ:

sqsh -SASE1502 -Usa -P -Q30
ASE1502.sa.master.1> cd tix
ASE1502.sa.tix.1> ເລືອກ count(*) ຈາກ E_TIX;
ເປີດຂໍ້ຄວາມລູກຄ້າ
ຊັ້ນ 1, ຕົ້ນກໍາເນີດ 2, ຄວາມຮຸນແຮງ 2, ຈໍານວນ 63
ct_results(): user api layer: internal Client Library ຜິດພາດ:
ອ່ານຈາກເຊີບເວີໝົດເວລາແລ້ວ.
ASE1502​: ການ​ສອບ​ຖາມ​ຫຼື​ການ​ຫມົດ​ເວ​ລາ​ຄໍາ​ສັ່ງ​ກວດ​ພົບ​, ຄໍາ​ສັ່ງ / ຊຸດ​ຖືກ​ຍົກ​ເລີກ​
ASE1502: ການເຊື່ອມຕໍ່ລູກຄ້າໄດ້ກວດພົບນີ້ 1 ເທື່ອ.

ເບິ່ງອີກ $max_ໝົດເວລາ ຕົວແປ, ເຊິ່ງຄວບຄຸມຈໍານວນຂອງເວລາທີ່ຫມົດເວລາອາດຈະ
ເກີດຂຶ້ນໃນການເຊື່ອມຕໍ່ປະຈຸບັນກ່ອນທີ່ເຊດຊັນຈະຖືກຍົກເລີກ.

-r [sqshrc]
ລະບຸຕົວສຳຮອງ .sqshrc ໄຟລ໌ທີ່ຈະຖືກປະມວນຜົນ, ແທນທີ່ຈະເປັນຄ່າເລີ່ມຕົ້ນ. ຖ້າບໍ່ມີ
sqshrc ແມ່ນສະຫນອງໃຫ້ດັ່ງຕໍ່ໄປນີ້ -r, ຫຼັງຈາກນັ້ນບໍ່ມີໄຟລ໌ເບື້ອງຕົ້ນຖືກປະມວນຜົນ. ທຸງນີ້
ຕ້ອງ ເປັນການໂຕ້ຖຽງທໍາອິດທີ່ສະຫນອງໃນເສັ້ນຄໍາສັ່ງ, ຕົວຢ່າງອື່ນໆທັງຫມົດຈະເປັນ
ບໍ່ສົນໃຈ.

-R server_principal
ສະຫນັບສະຫນູນ Kerberos: ກໍານົດ a ເຄື່ອງແມ່ຂ່າຍ ອໍານວຍການ ເພື່ອໃຊ້ສໍາລັບເຄືອຂ່າຍ (Kerberos)
ການກວດສອບຄວາມຖືກຕ້ອງ, ຖ້າຊື່ເຊີບເວີໃນໄຟລ໌ການໂຕ້ຕອບແຕກຕ່າງຈາກເຄື່ອງແມ່ຂ່າຍທີ່ແທ້ຈິງ
ຊື່

ເບິ່ງພາກສະຫນັບສະຫນູນ Kerberos ຂ້າງລຸ່ມນີ້ສໍາລັບລາຍລະອຽດ.

-s colsep
ເຮັດໃຫ້ເກີດສາຍ ໂຄເຊບ ເພື່ອຖືກນໍາໃຊ້ເພື່ອກໍານົດຂອບເຂດຜົນຜະລິດຖັນ SQL, ນີ້
ເລີ່ມຕົ້ນເປັນ " ".

-S ເຊີບເວີ
ຊື່ຂອງ Sybase ໄດ້ ເຄື່ອງແມ່ຂ່າຍ ເພື່ອເຊື່ອມຕໍ່, ຄ່າເລີ່ມຕົ້ນຂອງນີ້ແມ່ນພາຍນອກ
ຕົວແປສະພາບແວດລ້ອມ $DSQUERY. ຖ້າບໍ່ -S ຫຼື $DSQUERY ໄດ້ຖືກຕັ້ງຫຼັງຈາກນັ້ນເປັນຄ່າເລີ່ມຕົ້ນ
"SYBASE". ຄ່ານີ້ອາດຈະຖືກຕັ້ງຜ່ານຕົວແປພາຍໃນ $DSQUERY.

-t [ການກັ່ນຕອງ]
ເປີດໃຊ້ການກັ່ນຕອງຂອງຊຸດຄໍາສັ່ງຜ່ານໂຄງການພາຍນອກ, ການກັ່ນຕອງ, ແລະກ່ອນ
ຖືກສົ່ງໄປຫາ SQL Server. ຖ້າ ການກັ່ນຕອງ ບໍ່ໄດ້ສະໜອງໃຫ້, ຈາກນັ້ນໃຊ້ $filter_prog
(ຄ່າເລີ່ມຕົ້ນແມ່ນ 'm4 -'). ຄ່ານີ້ອາດຈະຖືກຕັ້ງຜ່ານ $filter ແລະ $filter_prog
ຕົວແປ

-T ຄ່າ
ລະບຸເວລາການເຂົ້າສູ່ລະບົບ (ຄ້າຍກັບທຸງ -l ຂອງ isql). ຖ້າຕັ້ງໃຫ້ລະບຸຕົວເລກ
ຂອງວິນາທີ sqsh ຈະລໍຖ້າກ່ອນເວລາອອກຄໍາຮ້ອງຂໍເຂົ້າສູ່ລະບົບ. ແຜນທີ່ໄປ
$login_timeout ຕົວແປ.

-U ຊື່​ຜູ້​ໃຊ້​
The Sybase ຊື່ຜູ້ໃຊ້ ເພື່ອເຊື່ອມຕໍ່ກັບຖານຂໍ້ມູນເປັນ, ນີ້ເລີ່ມຕົ້ນກັບຊື່ຜູ້ໃຊ້ຂອງ
ຜູ້ໃຊ້ແລ່ນ sqsh. ໄດ້ ຊື່ຜູ້ໃຊ້ ອາດຈະຖືກຕັ້ງຜ່ານຕົວແປ $username.

-v ສະແດງເລກເວີຊັ່ນ, $version, ແລະ exits.

-V [bcdimoqru]
ຮອງຮັບ Kerberos: ລະບຸທາງເລືອກຄວາມປອດໄພທີ່ຈະໃຊ້.

ເບິ່ງພາກສະຫນັບສະຫນູນ Kerberos ຂ້າງລຸ່ມນີ້ສໍາລັບລາຍລະອຽດ.

-w width
ຜົນຜະລິດສູງສຸດ width ຂອງຊຸດຜົນໄດ້ຮັບທີ່ສະແດງ, ນີ້ກໍານົດຄ່າເລີ່ມຕົ້ນກັບຄວາມກວ້າງຫນ້າຈໍຂອງທ່ານ
ໃນ​ຮູບ​ແບບ​ການ​ໂຕ້​ຕອບ​.

-X ເລີ່ມຕົ້ນການເຊື່ອມຕໍ່ເຂົ້າສູ່ລະບົບກັບເຊີບເວີດ້ວຍການເຂົ້າລະຫັດລັບດ້ານລູກຄ້າ (ຖ້າ
ສະ​ຫນັບ​ສະ​ຫນູນ​)​. ຖ້າທັງ SQL Server ບໍ່ຮູ້ຈັກທາງເລືອກນີ້, ຫຼືຖ້າສະບັບຂອງ
CT-Lib ໃຊ້ເພື່ອລວບລວມ sqsh ບໍ່ຮອງຮັບຕົວເລືອກນີ້, ຈາກນັ້ນມັນຈະຖືກລະເລີຍ.
ຕົວເລືອກນີ້ອາດຈະຖືກຕັ້ງໂດຍໃຊ້ຕົວແປສະພາບແວດລ້ອມ $encryption.

-y ໄດເລກະທໍລີ
ລະບຸ SYBASE ລະບົບ ເພື່ອໃຊ້ນອກເໜືອໄປຈາກຄ່າຂອງ $SYBASE ເພື່ອຊອກຫາ
ໄຟລ໌ການໂຕ້ຕອບ.

-z ພາສາ
ລະບຸຕົວສຳຮອງ ພາສາ ເພື່ອສະແດງການເຕືອນ sqsh ແລະຂໍ້ຄວາມ. ໂດຍບໍ່ມີການ -z
ທຸງ, ພາສາເລີ່ມຕົ້ນຂອງເຊີບເວີຈະຖືກໃຊ້. ອັນນີ້ອາດຈະຖືກຕັ້ງໂດຍໃຊ້
$language variable.

-Z [secmech|ຄ່າເລີ່ມຕົ້ນ|ບໍ່ມີ]
ສະຫນັບສະຫນູນ Kerberos: ກໍານົດກົນໄກຄວາມປອດໄພທີ່ຈະນໍາໃຊ້.

ເບິ່ງພາກສະຫນັບສະຫນູນ Kerberos ຂ້າງລຸ່ມນີ້ສໍາລັບລາຍລະອຽດ.

ໂຕ້ຖຽງ...
ຖ້າ sqsh ຖືກແລ່ນດ້ວຍ -i ທຸງລະບຸໄຟລ໌ປ້ອນຂໍ້ມູນທີ່ຈະດໍາເນີນການ (ແທນທີ່ຈະເປັນ
ການລິເລີ່ມກອງປະຊຸມແບບໂຕ້ຕອບ), ການໂຕ້ຖຽງອາດຈະຖືກສະຫນອງໃນເສັ້ນຄໍາສັ່ງເພື່ອ
ຖືກສົ່ງໄປຫາໄຟລ໌ປ້ອນຂໍ້ມູນ. ອາກິວເມັນເຫຼົ່ານີ້ອາດຈະຖືກເຂົ້າເຖິງໂດຍໃຊ້ຕົວແປ ${0},
${1}, ... (ເບິ່ງ Variables ພາກສ່ວນ, ຂ້າງລຸ່ມນີ້, ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມ).

ການລິເລີ່ມ
ເມື່ອເລີ່ມຕົ້ນ, sqsh ເລີ່ມຕົ້ນຕົວແປສະພາບແວດລ້ອມພາຍໃນທັງຫມົດ, ຄໍາສັ່ງ, ແລະນາມແຝງ
ກັບຄ່າເລີ່ມຕົ້ນຂອງພວກເຂົາ, ຫຼັງຈາກນັ້ນມັນເບິ່ງຢູ່ໃນໄຟລ໌ການຕັ້ງຄ່າທົ່ວລະບົບ, /etc/sqshrc,
ຕິດຕາມດ້ວຍໄຟລ໌ການຕັ້ງຄ່າທ້ອງຖິ່ນ $HOME/.sqshrc (ອັນນີ້ອາດຈະຖືກລົບລ້າງຜ່ານທາງ
SQSHRC ຕົວແປສະພາບແວດລ້ອມພາຍນອກ). ຖ້າ​ຫາກ​ວ່າ​ໄຟລ​໌​ນີ້​ແມ່ນ​ໄດ້​ຮັບ​ການ​ປະ​ຕິ​ບັດ​ເຊັ່ນ​ດຽວ​ກັນ​ກັບ a
script ຈະຖືກນໍາໃຊ້ -i ທຸງ.

ໄດ້ .sqshrc ໄຟລ໌ອາດມີສິ່ງໃດແດ່ທີ່ສາມາດພິມໄດ້ຕາມການເຕືອນ, ແນວໃດກໍ່ຕາມ
ມັນຄວນຈະສັງເກດວ່າໃນເວລາທີ່ໄຟລ໌ນີ້ຖືກອ່ານ sqsh ຍັງບໍ່ທັນໄດ້ສ້າງຕັ້ງເປັນ
ການເຊື່ອມຕໍ່ກັບຖານຂໍ້ມູນ, ຢ່າງໃດກໍຕາມຄໍາສັ່ງສ່ວນໃຫຍ່ທີ່ປະຕິບັດກິດຈະກໍາຖານຂໍ້ມູນ, ເຊັ່ນ:
\ ໄປ ຈະພະຍາຍາມສ້າງການເຊື່ອມຕໍ່ຖານຂໍ້ມູນເມື່ອຖືກປະຕິບັດ (ມັນອາດຈະເຕືອນທ່ານເຊັ່ນກັນ
ສໍາລັບລະຫັດຜ່ານຖ້າຈໍາເປັນ). ນອກຈາກນັ້ນ, ຖ້າກິດຈະກໍາຖານຂໍ້ມູນແມ່ນຕ້ອງການພາຍໃນການເລີ່ມຕົ້ນນີ້
ໄຟລ໌, ໄດ້ \ ເຊື່ອມຕໍ່ ຄໍາສັ່ງ (ເບິ່ງ ສາມາດ, ຂ້າງລຸ່ມນີ້) ອາດຈະຖືກປະຕິບັດ.

ພາຍຫຼັງທີ່ໄດ້ .sqshrc ໄຟລ​໌​ໄດ້​ຖືກ​ປະ​ຕິ​ບັດ​, sqsh ຫຼັງ​ຈາກ​ນັ້ນ parses ທາງ​ເລືອກ​ບັນ​ຊີ​ຄໍາ​ສັ່ງ​ໃດ​ຫນຶ່ງ (ດັ່ງ​ນັ້ນ​
ຕົວແປໃດນຶ່ງທີ່ຕັ້ງຢູ່ໃນຂອງເຈົ້າ .sqshrc ໄຟລ໌ອາດຈະຖືກ overridden ໂດຍຕົວເລືອກແຖວຄໍາສັ່ງ).
ປະຕິບັດຕາມນັ້ນ, ຖ້າ sqsh ແມ່ນດໍາເນີນການໃນຮູບແບບການໂຕ້ຕອບ (ie ໂດຍບໍ່ມີການ -i ແລະຖ້າ stdin ແມ່ນ
ຕິດກັບ tty), ຫຼັງຈາກນັ້ນຊອກຫາ .sqsh_ປະຫວັດ ແລະໂຫຼດເນື້ອໃນຂອງໄຟລ໌ນັ້ນ
ເຂົ້າໄປໃນ buffer ປະຫວັດສາດນີ້ (ເບິ່ງ ບັກ, ດ້ານລຸ່ມ).

ທັນທີກ່ອນທີ່ຈະສ້າງການເຊື່ອມຕໍ່ກັບຖານຂໍ້ມູນ (ບໍ່ວ່າຈະໃນລະຫວ່າງການເລີ່ມຕົ້ນ, ຫຼື
ໂດຍຈະແຈ້ງ \ ເຊື່ອມຕໍ່ or \ ເຊື່ອມຕໍ່ຄືນໃໝ່ command), ໄຟລ໌ $HOME/.sqsh_session ຖືກປະຕິບັດ.
ຊື່ຂອງໄຟລ໌ນີ້ອາດຈະຖືກລົບລ້າງໂດຍໃຊ້ຕົວແປ $session.

ຄໍາສັ່ງ ອອນໄລນ໌
ເມື່ອແຖວຖືກອ່ານເທື່ອທຳອິດ sqsh, ຄໍາທໍາອິດແມ່ນແຍກອອກຈາກເສັ້ນ. ຄໍານີ້
ຈາກນັ້ນຖືກຂະຫຍາຍຕົວແປທັງໝົດ (ເບິ່ງ ການປ່ຽນແປງ ປ່ຽນແທນ, ຂ້າງລຸ່ມນີ້), ປະຕິບັດຕາມຄໍາສັ່ງ
ການຂະຫຍາຍ (ເບິ່ງ ຄໍາສັ່ງ ປ່ຽນແທນ, ຂ້າງລຸ່ມນີ້). ຄໍາທໍາອິດຂອງ string ຜົນໄດ້ຮັບແມ່ນ
ຫຼັງຈາກນັ້ນ, ວິເຄາະເພື່ອເບິ່ງວ່າມັນຖືກຕ້ອງຫຼືບໍ່ sqsh ຄໍາສັ່ງຫຼືນາມແຝງ.

ໄດ້ sqsh ເສັ້ນຄໍາສັ່ງປະຕິບັດຕາມກົດລະບຽບດຽວກັນກັບ Bourne shell, ອະນຸຍາດໃຫ້ໄຟລ໌
ການປ່ຽນເສັ້ນທາງ, ທໍ່ສົ່ງ, ການທົດແທນຄໍາສັ່ງ, ແລະ back-grounding ຜ່ານ syntax ດຽວກັນ.

ຄວາມຄິດເຫັນ
ແຖວໃດນຶ່ງທີ່ເລີ່ມຕົ້ນດ້ວຍ ກ # ຕິດຕາມດ້ວຍຕົວອັກສອນທີ່ບໍ່ແມ່ນຕົວເລກ (ຕົວອັກສອນອື່ນໆ
ຫຼາຍກວ່າ 0-9, az, AZ, ແລະ _) ເຮັດໃຫ້ເສັ້ນທັງຫມົດຖືກລະເວັ້ນ. ເນື່ອງຈາກວ່າເປັນໄປໄດ້
collision ກັບ T-SQL session ຊື່ temp-table ສະເພາະ, ສາຍຈະບໍ່ຖືກລະເລີຍຖ້າຫາກວ່າ
ລັກສະນະທໍາອິດປະຕິບັດຕາມ #, ເປັນຕົວເລກແລະຕົວເລກ.

Quoting
Quoting ແມ່ນໃຊ້ເພື່ອປ້ອງກັນການຕີຄວາມຫມາຍຂອງຄໍາພິເສດຫຼືຕົວອັກສອນໄປຫາ sqsh,
ເຊັ່ນ: ພື້ນທີ່ສີຂາວ, ການຂະຫຍາຍຕົວແປ, ຫຼືການທົດແທນຄໍາສັ່ງ. ມີສາມປະເພດຂອງ
ອ້າງອີງ, escape, ວົງຢືມດຽວ, ແລະ ວົງຢືມຄູ່.

ການໃສ່ຕົວລະຄອນໃນວົງຢືມດຽວຮັກສາການຕີຄວາມໝາຍຕົວໜັງສືຂອງແຕ່ລະຄົນ
ຕົວອັກສອນທີ່ມີຢູ່ໃນວົງຢືມ. ວົງຢືມດຽວອາດຈະບໍ່ປາກົດຢູ່ໃນວົງຢືມດຽວ,
ແມ້ແຕ່ຕອນທີ່ໜີໄປກ່ອນ. ຍົກ​ຕົວ​ຢ່າງ:

1> \echo ຂ້ອຍບໍ່ສາມາດຂະຫຍາຍ '$username'

ຜົນໄດ້ຮັບ

ຂ້ອຍບໍ່ສາມາດຂະຫຍາຍ $username ໄດ້

ຕົວອັກສອນ \\ ຖືກນໍາໃຊ້ເພື່ອຫນີຄວາມຫມາຍ (ແລະດັ່ງນັ້ນຈຶ່ງປ້ອງກັນການຕີຄວາມຫມາຍ) ຂອງ
ລັກສະນະທັນທີປະຕິບັດຕາມເຂົາເຈົ້າ. \ ລັກສະນະຕົວຂອງມັນເອງອາດຈະຖືກຫລົບຫນີ. ສໍາລັບ
ຍົກຕົວຢ່າງ:

1> \echo ຂ້ອຍບໍ່ສາມາດຂະຫຍາຍ '$username'

ຜົນໄດ້ຮັບ

ຂ້ອຍບໍ່ສາມາດຂະຫຍາຍ $username ໄດ້

ລັກສະນະການຫລົບຫນີອາດຈະຖືກໃຊ້ເພື່ອຫນີແຖວໃຫມ່ເພື່ອປະຕິບັດເສັ້ນ
ສືບຕໍ່, ໃນກໍລະນີນີ້, ເສັ້ນໃຫມ່ຖືກຍົກເລີກແລະແຖວຕໍ່ໄປແມ່ນ
ຕື່ມໃສ່ອັດຕະໂນມັດໃສ່ແຖວກ່ອນໜ້າ, ຕົວຢ່າງ:

1> \ echo ສະບາຍດີ \\
--> ໂລກ!
ສະ​ບາຍ​ດີ​ຊາວ​ໂລກ!

ການໃສ່ຕົວລະຄອນໃນວົງຢືມຄູ່ຈະຮັກສາຄວາມໝາຍຕົວໜັງສືຂອງຕົວອັກສອນທັງໝົດ
ພາຍໃນພວກເຂົາຍົກເວັ້ນ $, ', ແລະ \\. ວົງຢືມຄູ່ອາດຈະຖືກບັນຈຸຢູ່ພາຍໃນ
ວົງຢືມສອງເທົ່າໂດຍການຫລົບຫນີ.

1> \echo "\\"ຂ້ອຍບໍ່ສາມາດປະຕິເສດມັນໄດ້, ຂ້ອຍມັກ $username\\", ນາງເວົ້າວ່າ"

ພິມອອກ

"ຂ້ອຍບໍ່ສາມາດປະຕິເສດມັນ, ຂ້ອຍມັກສີຂີ້ເຖົ່າ", ນາງເວົ້າ

ການຂະຫຍາຍຕົວ
ຫຼັງ​ຈາກ​ເສັ້ນ​ຂອງ​ການ​ປ້ອນ​ຂໍ້​ມູນ​ໄດ້​ຮັບ​ການ​ອ່ານ​, sqsh ຄວາມພະຍາຍາມທີ່ຈະຂະຫຍາຍສາຍຂອງນາມແຝງໃດໆ (ເບິ່ງ
ນາມແຝງ, ຂ້າງລຸ່ມນີ້), ດັ່ງຕໍ່ໄປນີ້ວ່າມັນພະຍາຍາມທີ່ຈະກໍານົດວ່າເສັ້ນເລີ່ມຕົ້ນດ້ວຍ a
ຄໍາ​ສັ່ງ​. ເມື່ອເສັ້ນໄດ້ຖືກກໍານົດວ່າມີຊື່ຄໍາສັ່ງ, ມັນຈະມີສອງ
ປະເພດຂອງການຂະຫຍາຍຕົວໄດ້ປະຕິບັດມັນ: ຕົວແປ ການທົດແທນ, ຕາມດ້ວຍ ຄໍາສັ່ງ
ການທົດແທນ ຕາມລໍາດັບ. ປະຕິບັດຕາມການຂະຫຍາຍນີ້ເສັ້ນຄໍາສັ່ງຖືກແຍກອອກເປັນ
ຄໍາ​ສັບ​ຕ່າງໆ​ແລະ​ຄໍາ​ສັ່ງ​ແມ່ນ​ປະ​ຕິ​ບັດ​.

ການປ່ຽນແປງ ປ່ຽນແທນ
ຕົວອັກສອນ $ ຖືກໃຊ້ເພື່ອຊີ້ບອກການປ່ຽນແທນຕົວແປ ຫຼືການຂະຫຍາຍພາຍໃນຄຳສັບໃດໜຶ່ງ.
ຕົວແປເຫຼົ່ານີ້ອາດຈະຖືກມອບໝາຍຄ່າໂດຍ \ ຕັ້ງ ຄໍາ​ສັ່ງ​ດັ່ງ​ນັ້ນ​:

1> \set name=value

ຊື່ ອາດ​ຈະ​ເປັນ​ຕົວ​ອັກ​ສອນ​ຫຼື​ຄະ​ແນນ underscore ປະ​ສົມ​ປະ​ສານ​ຂອງ​ຕົວ​ອັກ​ສອນ​, ຕົວ​ເລກ​,
ຫຼື underscore, ແລະອາດຈະບໍ່ມີຕົວອັກສອນພິເສດ, ເຊັ່ນ: (') ແລະ (").
ຂໍ້ຈໍາກັດກ່ຽວກັບຕົວອັກສອນທໍາອິດທີ່ເປັນຕົວເລກຖືກນໍາສະເຫນີເພາະວ່າ SQL ອະນຸຍາດໃຫ້
ການເປັນຕົວແທນຂອງປະເພດຂໍ້ມູນເງິນເປັນ $nn.nn ບ່ອນທີ່ n ເປັນຕົວເລກ.

ມູນຄ່າ ອາດຈະມີສິ່ງໃດແດ່, ແນວໃດກໍ່ຕາມ, ຖ້າມັນຖືກລວມເອົາພື້ນທີ່ສີຂາວ, ມັນຕ້ອງເປັນ
ອ້າງອີງ (ເບິ່ງ ຄໍາສັບຕ່າງໆ & Quoting, ຂ້າງເທິງ). ໃຫ້ສັງເກດວ່າເພື່ອປ້ອງກັນການຂະຫຍາຍຕົວຂອງ a
ຕົວແປໃຊ້ທັງວົງຢືມດຽວ, ຫຼືສອງ \', ເຊັ່ນນີ້:

1> \echo \\$name
$name

ຕົວແປອາດຈະຖືກອ້າງອີງໃນຫນຶ່ງໃນສອງວິທີ:

$variable ໃນ​ລັກ​ສະ​ນະ​ນີ້​ທັງ​ຫມົດ​ຕົວ​ອັກ​ສອນ​, ຕົວ​ເລກ​, ແລະ underscores ຖືກ​ຖື​ເປັນ​ ຊື່
ຂອງຕົວແປຈົນກ່ວາປະເພດຂອງລັກສະນະອື່ນແມ່ນບັນລຸໄດ້ (ບໍ່ວ່າຈະເປັນລັກສະນະພິເສດ, ຫຼື
ຊ່ອງຫວ່າງ). ${variable} ວົງເລັບແມ່ນຕ້ອງການເມື່ອ ຕົວແປ ຕິດຕາມດ້ວຍ a
ຕົວອັກສອນ, ຕົວເລກ, ຫຼືຂີດກ້ອງທີ່ບໍ່ຄວນແປເປັນສ່ວນໜຶ່ງຂອງຊື່ຂອງມັນ. ໃຫ້ສັງເກດວ່າ
ຜົນກະທົບດຽວກັນອາດຈະຖືກບັນລຸໄດ້ໂດຍໃຊ້ວົງຢືມຄູ່.

ມັນຄວນຈະສັງເກດວ່າເນື່ອງຈາກວ່າຕົວແປໄດ້ຖືກຂະຫຍາຍກ່ອນທີ່ຈະທໍາລາຍຄໍາສັ່ງ
ເສັ້ນເຂົ້າໄປໃນຄໍາສັບຕ່າງໆ, ຖ້າເນື້ອໃນຂອງຕົວແປມີຊ່ອງຫວ່າງສີຂາວ, ພວກມັນຖືກປະຕິບັດເປັນ
ທີ່ສໍາຄັນໂດຍ parser ໄດ້. ໃນຕົວຢ່າງຕໍ່ໄປນີ້:

1> \ ຕັ້ງ x = "1 2 3"
1> \echo $x

ໄດ້ \ ສຽງດັງ ຄໍາສັ່ງໄດ້ຮັບສາມ argument, "1", "2", ແລະ "3", ເຖິງແມ່ນວ່າມັນເບິ່ງຄືວ່າ
ພຽງແຕ່ຫນຶ່ງການໂຕ້ຖຽງໄດ້ຖືກສົ່ງກັບມັນ. ພຶດຕິກໍານີ້ແມ່ນສອດຄ່ອງກັບແກະສ່ວນໃຫຍ່ (ເຊັ່ນ:
csh, bourne shell, ແລະອື່ນໆ).

ຄໍາສັ່ງ ປ່ຽນແທນ
ກຊ ສະຫນັບສະຫນູນຮູບແບບການຂະຫຍາຍທີສອງທີ່ເອີ້ນວ່າ ຄໍາສັ່ງ ການທົດແທນ. ແບບຟອມຂອງ
ການຂະຫຍາຍແທນຄໍາສັ່ງໃນແຖວຄໍາສັ່ງດ້ວຍຜົນຜະລິດຂອງ UNIX ພາຍນອກ
ຄໍາສັ່ງ. ການຂະຫຍາຍຕົວນີ້ອາດຈະບັນລຸໄດ້ໂດຍການວາງສາຍຄໍາສັ່ງທີ່ຈະປະຕິບັດໃນ
back-quotes (`). ຍົກ​ຕົວ​ຢ່າງ:

1> \set password=`/sybase/bin/getpwd $DSQUERY`
1> \echo $password
ilikepickles

ຕົວຢ່າງນີ້, ໂຄງການພາຍນອກ /sybase/bin/getpwd ຖືກປະຕິບັດດ້ວຍປະຈຸບັນ
ເນື້ອໃນຂອງຕົວແປສະພາບແວດລ້ອມ $DSQUERY, ການສະແດງອອກທັງໝົດຈະຖືກແທນທີ່ດ້ວຍ
ຜົນຜະລິດຂອງ getpwd (ມັກ​ດອງ) ກ່ອນ​ທີ່​ຈະ​ປະ​ຕິ​ບັດ​ \ ຕັ້ງ ຄໍາສັ່ງ. ໂດຍຄ່າເລີ່ມຕົ້ນ, ໄດ້
ຜົນ​ຜະ​ລິດ​ຂອງ​ຄໍາ​ສັ່ງ​ທີ່​ທົດ​ແທນ​ແມ່ນ​ທໍາ​ອິດ​ແບ່ງ​ອອກ​ເປັນ​ຄໍາ​ສັບ​ຕ່າງໆ​ຕາມ​ເນື້ອ​ໃນ​ຂອງ​
ຕົວແປ $ifs ກ່ອນທີ່ຈະປະກອບເຂົ້າກັນກັບເສັ້ນຄໍາສັ່ງ. ດັ່ງນັ້ນ, ໂດຍ
overriding ເນື້ອໃນຂອງ $ifs ທ່ານອາດຈະສົ່ງຜົນກະທົບຕໍ່ພຶດຕິກໍາຂອງຂະບວນການທົດແທນ.

ຍົກ​ຕົວ​ຢ່າງ:

1> \set ifs=":"
1> \echo `echo hello:how:are:you`
ສະ​ບາຍ​ດີ​, ເຈົ້າ​ສະ​ບາຍ​ດີ​ບໍ່

ກົນໄກນີ້ມັກຈະເປັນປະໂຫຍດສໍາລັບການແຍກໄຟລ໌ປ້ອນຂໍ້ມູນ, ເຊັ່ນ: / etc / passwd ເຂົ້າໄປໃນ
ທົ່ງນາ.

Input / Output ຕົວຊີ້ທິດທາງ
ເຊັ່ນດຽວກັນກັບແກະ Bourne ມາດຕະຖານ (ແລະແກະອື່ນໆສ່ວນໃຫຍ່, ສໍາລັບເລື່ອງນັ້ນ), ການປ້ອນຂໍ້ມູນຂອງຄໍາສັ່ງ
ແລະຜົນຜະລິດອາດຈະຖືກປ່ຽນເສັ້ນທາງໂດຍໃຊ້ຫມາຍເຫດພິເສດທີ່ຖືກຕີຄວາມໂດຍແກະ. ໄດ້
ຕໍ່ໄປນີ້ອາດຈະປາກົດຢູ່ບ່ອນໃດກໍໄດ້ຢູ່ໃນເສັ້ນຄໍາສັ່ງ, ແຕ່ວ່າພຽງແຕ່ການປ່ຽນເສັ້ນທາງທີ່ຖືກກໍານົດ
ກ່ອນ ກັບທໍ່ (|) ຕົວຈິງແລ້ວມີຜົນກະທົບໃດໆກ່ຽວກັບພຶດຕິກໍາຂອງຄໍາສັ່ງ sqsh ພາຍໃນ
(ອ້າງ​ເຖິງ ທໍ່, ດ້ານລຸ່ມ).

<ຄໍາ
ໃຊ້ໄຟລ໌ ຄໍາ ເປັນວັດສະດຸປ້ອນມາດຕະຖານສໍາລັບຄໍາສັ່ງ. ໂດຍປົກກະຕິມີຈໍານວນຫນ້ອຍຫຼາຍ sqsh
ຄໍາສັ່ງຕົວຈິງອ່ານຫຍັງຈາກ stdin, ດັ່ງນັ້ນປົກກະຕິແລ້ວນີ້ຈະບໍ່ມີຜົນກະທົບ (ເບິ່ງ
ໄດ້ \ ວົງ ຄໍາສັ່ງ).

[n]>ຄໍາ
ເຊື່ອມໂຍງຜົນຜະລິດຂອງຕົວອະທິບາຍໄຟລ໌ n (stdout, ໂດຍຄ່າເລີ່ມຕົ້ນ) ກັບໄຟລ໌ ຄໍາ. ຖ້ານີ້
ໄຟລ໌ບໍ່ມີມັນຖືກສ້າງຂຶ້ນ; ຖ້າບໍ່ດັ່ງນັ້ນມັນຖືກຕັດໃຫ້ສັ້ນລົງເປັນສູນ.

[n]>> ຄໍາ
ຕື່ມການຜົນຜະລິດຂອງຕົວອະທິບາຍໄຟລ໌ n (stdout, ໂດຍຄ່າເລີ່ມຕົ້ນ) ເພື່ອຍື່ນ ຄໍາ, ການສ້າງມັນ
ຖ້າມັນບໍ່ມີ.

[m]>&n
ປ່ຽນເສັ້ນທາງຜົນຜະລິດຂອງຕົວອະທິບາຍໄຟລ໌ m (stdout ໂດຍຄ່າເລີ່ມຕົ້ນ), ກັບຜົນຜະລິດດຽວກັນກັບໄຟລ໌
ຕົວອະທິບາຍ n. ຄໍາສັ່ງທີ່ການປ່ຽນເສັ້ນທາງຖືກລະບຸໄວ້ໃນເສັ້ນຄໍາສັ່ງແມ່ນ
ທີ່ສໍາຄັນ, ຍ້ອນວ່າການປ່ຽນເສັ້ນທາງໄດ້ຖືກປະເມີນຈາກຊ້າຍຫາຂວາ. ຍົກ​ຕົວ​ຢ່າງ:

1​> ເລືອກ * ຈາກ​ເລືອກ /* syntax ຜິດ​ພາດ */
2> \go>/tmp/output 2>&1

ຄໍາຖະແຫຼງການນີ້ທໍາອິດ redirects ຜົນຜະລິດມາດຕະຖານຂອງ \ ໄປ ຄໍາສັ່ງກັບໄຟລ໌
/tmp/output, ຫຼັງຈາກນັ້ນ redirects stderr ໄປຫາໄຟລ໌ດຽວກັນ. ດັ່ງນັ້ນ, ເມື່ອຄໍາສັ່ງລົ້ມເຫລວ,
ຜົນໄດ້ຮັບຄວາມຜິດພາດຈະພົບເຫັນຢູ່ໃນໄຟລ໌ /tmp/output.

ຢ່າງໃດກໍຕາມ, ໂດຍການປ່ຽນແປງຄໍາສັ່ງຂອງການປ່ຽນເສັ້ນທາງ, ທ່ານສາມາດປ່ຽນຄວາມຫມາຍໄດ້ຢ່າງສົມບູນ:

1> ເລືອກ * ຈາກເລືອກ
2> \go 2>&1 >/tmp/output
Msg 156, ລະດັບ 15, ລັດ 1
ເຊີບເວີ 'SQSH_TEST', ແຖວທີ 1
syntax ບໍ່ຖືກຕ້ອງຢູ່ໃກ້ກັບຄໍາສໍາຄັນ 'ເລືອກ'.

ໃນກໍລະນີນີ້, ຜົນໄດ້ຮັບຄວາມຜິດພາດຈະຖືກສົ່ງໄປຫາ stdout, ໃນຂະນະທີ່ສິ່ງທີ່ຈະໄປ
stdout ຖືກໂອນໄປຫາ /tmp/output (ໃນ​ກໍ​ລະ​ນີ​ນີ້ /tmp/output ຈະຫວ່າງເປົ່າ).

ກະລຸນາອ່ານພາກສ່ວນກ່ຽວກັບ ຄວາມເປັນມາ ວຽກເຮັດງານທໍາຂ້າງລຸ່ມນີ້, ສໍາລັບລາຍລະອຽດກ່ຽວກັບການໂຕ້ຕອບ
ລະຫວ່າງການປ່ຽນເສັ້ນທາງໄຟລ໌ ແລະວຽກພື້ນຫຼັງ.

ທໍ່
A ທໍ່ ແມ່ນລໍາດັບຂອງຫນຶ່ງຫຼືຫຼາຍຄໍາສັ່ງທີ່ແຍກອອກໂດຍ '|', ແຕ່ລະຄໍາສັ່ງທີ່ໃຊ້
stdout ຂອງໂຄງການກ່ອນຫນ້າສໍາລັບ stdin ຂອງຕົນເອງ. ຢ່າງໃດກໍຕາມ, ຄໍາສັ່ງທໍາອິດໃນ
ທໍ່ ຕ້ອງເປັນຄໍາສັ່ງ sqsh, ແລະຄໍາສັ່ງອື່ນໆທັງຫມົດຕ້ອງເປັນພາຍນອກ (ຫຼື UNIX)
ໂຄງການ. ທຸກຄໍາສັ່ງ sqsh ອາດຈະຖືກດໍາເນີນການຜ່ານທໍ່, ເຖິງແມ່ນວ່າສໍາລັບພວກເຂົາຈໍານວນຫຼາຍ (ເຊັ່ນ:
ເປັນ \ ຕັ້ງ ຄໍາສັ່ງ) ມັນບໍ່ມີຄວາມຫມາຍແທ້ໆທີ່ຈະເຮັດສິ່ງນີ້. ຕໍ່ໄປນີ້ແມ່ນເປັນ
ຕົວຢ່າງຂອງ a ທໍ່:

1> ເລືອກ * ຈາກ syslogins
2> \ ໄປ | ເພີ່ມເຕີມ

ຄໍາສັ່ງນີ້ເຮັດໃຫ້ຊຸດຜົນໄດ້ຮັບທີ່ສ້າງຂຶ້ນໂດຍ \ ໄປ ຄໍາສັ່ງທີ່ຈະຖືກສົ່ງໄປຫາ ເພີ່ມເຕີມ(1​)
ໂຄງ​ການ​, ເຊິ່ງ​ຫຼັງ​ຈາກ​ນັ້ນ​ສົ່ງ​ມັນ​ໄປ​ທີ່​ຫນ້າ​ຈໍ​ຂອງ​ທ່ານ​, ຢຸດ​ເຊົາ​ການ​ຢູ່​ໃນ​ຫນ້າ​ຈໍ​ທີ່​ເຕັມ​ໄປ​ດ້ວຍ​ຂໍ້​ມູນ​ແຕ່​ລະ​ຄົນ (ນີ້​ແມ່ນ​
ເຫດຜົນຕົ້ນຕໍທີ່ຂ້ອຍຂຽນ sqsh).

ມີຫຼາຍ peculiarities ໃນວິທີການທີ່ sqsh ຈັດການກັບ ທໍ່ ກົງກັນຂ້າມ
ກັບວິທີການທີ່ແກະ Bourne ມາດຕະຖານປະຕິບັດໃຫ້ເຂົາເຈົ້າ.

ທຸກ​ສິ່ງ​ທຸກ​ຢ່າງ​ຕາມ​ການ​ປະ​ກົດ​ຕົວ​ຄັ້ງ​ທໍາ​ອິດ​ຂອງ​ທໍ່ (|​) ລັກ​ສະ​ນະ​ແມ່ນ​ແຕກ​ອອກ​ເປັນ​ສີ​ຂາວ​.
ຄໍາສັບຕ່າງໆທີ່ມີຂອບເຂດ, ລວມທັງຄໍາສັ່ງ shell ພິເສດເຊັ່ນ '2>&1' ແລະອື່ນໆ
ການປະກົດຕົວຂອງທໍ່. ຖ້າມີຕົວແປໃດໆທີ່ມີຢູ່ໃນຄໍາເຫຼົ່ານີ້ພວກເຂົາແມ່ນ
ຂະຫຍາຍໄປຕາມກົດລະບຽບການອ້າງອີງດຽວກັນກັບທີ່ໄດ້ອະທິບາຍໄວ້ໃນ ຄໍາສັບຕ່າງໆ & Quoting, ຂ້າງເທິງ, ກັບ
ຂໍ້ຍົກເວັ້ນຫນຶ່ງທີ່ວົງຢືມທັງຫມົດຖືກປະໄວ້ຢູ່ໃນສະຖານທີ່. ຫຼັງຈາກນັ້ນ, ຄໍາສັບຕ່າງໆເຫຼົ່ານີ້ໄດ້ຖືກປະກອບຄືນໃຫມ່ເປັນ
ສາຍດຽວແລະສົ່ງໄປ / ຖັງ / sh ສຳ ລັບການປຸງແຕ່ງ.

ໃນສັ້ນ, sqsh ບໍ່ມີຄວາມພະຍາຍາມທີ່ຈະຕີຄວາມຫມາຍສິ່ງທີ່ປະຕິບັດຕາມທໍ່ທໍາອິດ, ແທນທີ່ຈະເປັນ
ຖືກສົ່ງໄປຫາແກະ "ທີ່ແທ້ຈິງ" ເພື່ອເຮັດວຽກ. ເຫດຜົນທີ່ຢູ່ເບື້ອງຫຼັງນີ້ແມ່ນວ່າຂ້ອຍຂີ້ຄ້ານ
ແລະບໍ່ມີຄວາມຮູ້ສຶກຄືກັບການຂຽນທັງຫມົດຂອງການຈັດການຕົວແປທີ່ແປກປະຫຼາດດຽວກັນ, &&'ing, ||'ing,
ການຈັດກຸ່ມ, ແລະກົດລະບຽບການຂະຫຍາຍຕົວແປທີ່ Bourne shell ສະຫນັບສະຫນູນ, ແລະແທນທີ່ຈະຂ້າພະເຈົ້າປ່ອຍໃຫ້
Bourne ເຮັດວຽກເປື້ອນ.

ປະໂຫຍດຂອງວິທີການນີ້ແມ່ນວ່າທ່ານສາມາດເຮັດບາງສິ່ງທີ່ສະລັບສັບຊ້ອນຫຼາຍຫຼັງຈາກ
ທໍ່, ເຊັ່ນ:

1> ເລືອກ * ຈາກ syscolumns
2> \ ໄປ | (cd / tmp; ບີບອັດ -c > sysolumns.Z)

ບໍ່​ແມ່ນ​ວ່າ​ຂ້າ​ພະ​ເຈົ້າ​ສາ​ມາດ​ຄິດ​ເຖິງ​ເຫດ​ຜົນ​ທີ່​ແທ້​ຈິງ​ທີ່​ຈະ​ເຮັດ​ສິ່ງ​ນີ້ ... ແຕ່​ທ່ານ​ສາ​ມາດ​ເຮັດ​ໄດ້​ຖ້າ​ຫາກ​ວ່າ​ທ່ານ​ຕ້ອງ​ການ​.

ຄວາມເປັນມາ ວຽກເຮັດງານທໍາ
ພື້ນຫລັງໃຫ້ກົນໄກທີ່ເຈົ້າອາດຈະເອີ້ນໃຊ້ຄໍາສັ່ງ sqsh ໃດໆທີ່ເປັນພື້ນຫລັງ
ຂະບວນການແລະສືບຕໍ່ເຮັດວຽກໃນຂະນະທີ່ມັນແລ່ນ. Sqsh ສະເຫນີສອງປະເພດຂອງພື້ນຖານ:

ຝາກເບີໄວ້
ໃນຮູບແບບນີ້ sqsh redirects ຜົນຜະລິດທັງຫມົດຂອງວຽກພື້ນຫລັງໄປຫາໄຟລ໌ຊົ່ວຄາວ
(ຕັ້ງຢູ່ໃນໄດເລກະທໍລີ $tmp_dir) ໃນຂະນະທີ່ວຽກກໍາລັງແລ່ນ, ດັ່ງນັ້ນຜົນໄດ້ຮັບແມ່ນ
ບໍ່ປະສົມກັບສິ່ງທີ່ເຈົ້າກຳລັງເຮັດວຽກຢູ່. ເມື່ອ​ວຽກ​ເຮັດ​ສໍາ​ເລັດ​ທ່ານ​
ແຈ້ງ​ການ​ສໍາ​ເລັດ​ຂະ​ບວນ​ການ​ແລະ​ຜົນ​ຜະ​ລິດ​ອາດ​ຈະ​ໄດ້​ຮັບ​ການ​ເບິ່ງ​ໂດຍ​ນໍາ​ໃຊ້​ \ ສະແດງ
ຄໍາສັ່ງ.

ບໍ່ໄດ້ເລື່ອນເວລາ
ນີ້ສອດຄ່ອງກັບແນວຄວາມຄິດທົ່ວໄປຂອງຂະບວນການພື້ນຖານພາຍໃຕ້ UNIX. ໃນຮູບແບບນີ້
ຜົນ​ຜະ​ລິດ​ຂອງ​ວຽກ​ເຮັດ​ງານ​ທໍາ​ບໍ່​ໄດ້ redirected implicitly ສໍາ​ລັບ​ທ່ານ, ແລະ​ດັ່ງ​ນັ້ນ​ອາດ​ຈະ​ກາຍ​ເປັນ
intermingled ກັບສິ່ງທີ່ທ່ານກໍາລັງເຮັດວຽກໃນປັດຈຸບັນ. ການເລືອກຮູບແບບທີ່ທ່ານເລືອກແມ່ນ
ສາມາດເລືອກໄດ້ຜ່ານຕົວແປ $defer_bg (ເຊິ່ງຄ່າເລີ່ມຕົ້ນເປັນ '1', ຫຼື 'On'). ໂດຍ​ປົກ​ກະ​ຕິ​ໄດ້​
ເຫດຜົນພຽງແຕ່ບໍ່ໃຊ້ ຊັກຊ້າ ຮູບແບບແມ່ນເພື່ອປ້ອງກັນບໍ່ໃຫ້ຊຸດຜົນໄດ້ຮັບຂະຫນາດໃຫຍ່ຈາກການຕື່ມຂໍ້ມູນໃສ່
ລະບົບໄຟລ໌ຂອງທ່ານ.

ເພື່ອລະບຸວ່າວຽກໃດນຶ່ງຈະຖືກດໍາເນີນຢູ່ໃນພື້ນຫຼັງ, ພຽງແຕ່ຕື່ມໃສ່ a & ໃນຕອນທ້າຍຂອງການ
ເສັ້ນຄໍາສັ່ງ, ເຊັ່ນ:

1> sp_long_arduous_proc 1, 30
2> \ ໄປ &
ວຽກ #1 ແລ່ນ [xxxx]
1>

ເມື່ອ sqsh ພົບກັບ & ໃນຕອນທ້າຍຂອງເສັ້ນຄໍາສັ່ງມັນ spawns ຂະບວນການເດັກນ້ອຍ (ກັບ
ID ຂະບວນການ Unix ຂອງ xxxx) ຫຼັງ ຈາກ ນັ້ນ ຂະ ບວນ ການ ຂອງ ເດັກ ໂທ ຫາ ໄດ້ \ ໄປ. \ ໄປ ຄໍາສັ່ງຫຼັງຈາກນັ້ນ
ສ້າງການເຊື່ອມຕໍ່ໃຫມ່ກັບຖານຂໍ້ມູນ (ໂດຍນໍາໃຊ້ຄ່າປະຈຸບັນຂອງ $DSQUERY,
$username, $password variables) ແລະປະຕິບັດການສອບຖາມທີ່ສະແດງ. ໃນຂະນະທີ່ວຽກກໍາລັງປະຕິບັດ
ຄໍາສັ່ງ \ ວຽກ \ ລໍຖ້າ ແລະ \ ຂ້າ ອາດຈະຖືກໃຊ້ເພື່ອຕິດຕາມ ຫຼືປ່ຽນແປງວຽກທີ່ກຳລັງເຮັດວຽກຢູ່
(ເບິ່ງພາກ ສາມາດ, ຂ້າງລຸ່ມນີ້). ເມື່ອວຽກໃດນຶ່ງສຳເລັດ sqsh ຈະສະແດງການແຈ້ງເຕືອນ,
ເຊັ່ນ​ວ່າ:

1> ເລືອກ count(*) ຈາກ
ວຽກ #1 ສຳເລັດແລ້ວ (ກຳລັງລໍຖ້າການຜະລິດຢູ່)
2>

ເມື່ອວຽກສໍາເລັດ, ຖ້າມັນບໍ່ມີຜົນໄດ້ຮັບ, ມັນຈະຖືກພິຈາລະນາຍົກເລີກທັນທີ
ຈະບໍ່ສະແດງຢູ່ໃນບັນຊີລາຍຊື່ຂອງວຽກປະຈຸບັນ. ຢ່າງໃດກໍຕາມ, ຖ້າວຽກທີ່ສົມບູນມີ
ຜົນ​ຜະ​ລິດ​ທີ່​ຍັງ​ຄ້າງ​ຢູ່​, ມັນ​ຈະ​ສືບ​ຕໍ່​ໄດ້​ຮັບ​ການ​ສະ​ແດງ​ເປັນ​ວຽກ​ເຮັດ​ງານ​ທໍາ (ກັບ​ \ ວຽກ ຄໍາສັ່ງ)
ຈົນກ່ວາ \ ສະແດງ ຖືກນໍາໃຊ້ເພື່ອສະແດງຜົນຂອງວຽກ.

ມີຂໍ້ບົກພ່ອງທີ່ຮູ້ຈັກກັບຄວາມເປັນມາຂອງວຽກໃນເວລາທີ່ໃຊ້ຮ່ວມກັນກັບທໍ່, ກະລຸນາ
ອ້າງອີງເຖິງ ບັກ ພາກສ່ວນໃນຕອນທ້າຍຂອງຄູ່ມື.

Buffers
ຢູ່ໃນປົກກະຕິ isql ພຽງແຕ່ສອງ buffers ໄດ້ຖືກຮັກສາໄວ້; buffer ທີ່ເຈົ້າຢູ່ໃນປັດຈຸບັນ
ການພິມ, ແລະ buffer ທີ່ມີ batch ສຸດທ້າຍປະຕິບັດ (ອັນນີ້ຖືກເກັບຮັກສາໄວ້ປະມານເວລາໃດ.
ທ່ານດໍາເນີນການ 'vi', ຫຼື 'ແກ້ໄຂ').

Sqsh ຮັກສາຊຸດ buffers ທີ່ແຕກຕ່າງກັນຫຼາຍຊຸດ:

ການເຮັດວຽກ Buffer: buffer ນີ້ກົງກັນໂດຍກົງກັບ isql buffer ເຮັດວຽກ. ມັນແມ່ນ buffer
ໃນ​ການ​ທີ່​ທ່ານ​ໃສ່ batch ໃນ​ປັດ​ຈຸ​ບັນ​ກ່ອນ​ທີ່​ຈະ​ສົ່ງ​ມັນ​ກັບ​ຖານ​ຂໍ້​ມູນ​.

ປະ​ຫວັດ​ສາດ Buffer: ຕົວຈິງແລ້ວນີ້ແມ່ນຕ່ອງໂສ້ຂອງ 0 ຫຼືຫຼາຍກວ່າ buffers (ຕັ້ງຄ່າໄດ້ໂດຍ
$histsize variable) ຂອງ $histsize batches ສຸດທ້າຍທີ່ໄດ້ດໍາເນີນການ. buffer ນີ້ແມ່ນພຽງແຕ່
ຮັກສາໄວ້ໃນເວລາທີ່ sqsh ຖືກດໍາເນີນການໃນຮູບແບບການໂຕ້ຕອບ; ນັ້ນແມ່ນ, batches ຖືກປະຕິບັດໂດຍໃຊ້ -i
ທຸງ, ຫຼືຖືກປະຕິບັດໂດຍການປ່ຽນເສັ້ນທາງຈາກການເຕືອນຂອງ UNIX ຈະບໍ່ຖືກຮັກສາໄວ້ໃນປະຫວັດສາດ
(ຫຼັງ​ຈາກ​ນັ້ນ​ທັງ​ຫມົດ​, ພວກ​ເຂົາ​ເຈົ້າ​ແມ່ນ​ແລ້ວ​ຢູ່​ໃນ​ໄຟລ​໌​ບາງ​ບ່ອນ​)​.

ຖ້າຕົວແປ $histave ແມ່ນ True (ເບິ່ງພາກ ພິເສດ ຄວາມຮັບຜິດຊອບ), ແລະ sqsh ຢູ່ໃນ
ໂໝດໂຕ້ຕອບ, ຈາກນັ້ນ ບັຟເຟີປະຫວັດປັດຈຸບັນຈະຖືກຂຽນໃສ່ $HOME/.sqsh_history ເມື່ອ
ເຈົ້າອອກ. ຫຼັງຈາກນັ້ນ, ໄຟລ໌ນີ້ຈະຖືກອ່ານຄືນໃນ sqsh ໃນຄັ້ງຕໍ່ໄປທີ່ມັນຖືກເລີ່ມຕົ້ນໃນການໂຕ້ຕອບ
mode

ຊື່ Buffers: ໃນເວລາໃດກໍ່ຕາມໃນລະຫວ່າງກອງປະຊຸມ ການເຮັດວຽກ Buffer, ຫຼືໃດໆຂອງ ປະ​ຫວັດ​ສາດ Buffers
ອາດຈະຖືກຄັດລອກເຂົ້າໄປໃນ buffer ທີ່ມີຊື່ໂດຍໃຊ້ \buf-ສຳເນົາ ຄໍາສັ່ງ (ເບິ່ງພາກ ສາມາດ,
ຂ້າງລຸ່ມນີ້). buffers ເຫຼົ່າ​ນີ້​ໄດ້​ສູນ​ເສຍ​ໄປ​ໃນ​ເວ​ລາ​ທີ່​ທ່ານ​ອອກ (ຢ່າງ​ໃດ​ກໍ​ຕາມ​ທ່ານ​ອາດ​ຈະ​ໃຊ້​ໄດ້​ \buf-save ຄຳ ສັ່ງໃຫ້
ບັນທຶກ buffers ທີ່ມີຊື່ໃສ່ໄຟລ໌).

Buffer ມືສັ້ນ

ຄໍາສັ່ງຈໍານວນຫຼາຍອະນຸຍາດໃຫ້ buffers ທັງຫມົດເຫຼົ່ານີ້ຖືກອ້າງອີງໃນຮູບແບບສັ້ນ, ຫຼາຍ
ຄ້າຍຄືກັນກັບວິທີນັ້ນ csh(1​) ອ້າງເຖິງປະຫວັດຄໍາສັ່ງຂອງມັນ. ໃດໆຂອງ shorthands ເຫຼົ່ານີ້
ອາດຈະຖືກນໍາໃຊ້ສໍາລັບການໃດໆ buffer ຕົວກໍານົດການອະທິບາຍຢູ່ໃນ ສາມາດ ສ່ວນ:

!. ບັຟເຟີການເຮັດວຽກໃນປະຈຸບັນ.

!! ຄໍາສັ່ງສຸດທ້າຍຖືກປະຕິບັດ (ຫມາຍເຫດ, ນີ້ບໍ່ມີຢູ່ໃນຮູບແບບທີ່ບໍ່ມີການໂຕ້ຕອບຍ້ອນວ່າມັນ
ບໍ່ຮັກສາປະຫວັດສາດ).

!+ ການເຂົ້າປະຫວັດຕໍ່ໄປ. ນີ້​ແມ່ນ​ເປັນ​ການ​ຂຽນ​ພຽງ​ແຕ່​ບັບ​ຕິ​ສະ​, ສະ​ນັ້ນ​ໂດຍ​ປົກ​ກະ​ຕິ​ພຽງ​ແຕ່​
ໃຊ້ກັບຄໍາສັ່ງເຊັ່ນ: \buf-ສຳເນົາ.

!n ຫມາຍເຖິງປະຫວັດສາດ #n. ແຕ່ລະຄັ້ງທີ່ຂຽນເຂົ້າໃນປະຫວັດມັນຈະຖືກມອບໝາຍໃຫ້
ຕົວເລກທີ່ເພີ່ມຂຶ້ນຈາກການເຂົ້າສຸດທ້າຍ, ດ້ວຍມືສັ້ນນີ້ເຈົ້າອາດຈະອ້າງອີງໃດໆ
ປະ​ຫວັດ​ສາດ​ໃຫ້​.

!buf_name
ພຽງແຕ່ສໍາລັບຄວາມສອດຄ່ອງ, ນີ້ແມ່ນສະຫນອງການອ້າງອີງເຖິງ buffer ທີ່ມີຊື່ buf_name, ຢ່າງໃດກໍຕາມ
buf_name ໂດຍບໍ່ມີການນໍາ '!' ຍັງຖືວ່າຖືກຕ້ອງ.

buf_name
ຫມາຍເຖິງ buffer ທີ່ມີຊື່ buf_name.

Variables

ຕົວແປອາດຈະຖືກບັນຈຸຢູ່ພາຍໃນບ່ອນເຮັດວຽກ. ພາຍໃຕ້ສະຖານະການເຫຼົ່ານີ້
ຕົວແປຍັງຄົງບໍ່ໄດ້ຂະຫຍາຍຈົນກ່ວາ buffer ຖືກສົ່ງໄປຫາຖານຂໍ້ມູນ (ຜ່ານ \ ໄປ
command), ໃນໄລຍະເວລາທີ່ພວກມັນຖືກຂະຫຍາຍແລະຖືກແທນທີ່ພາຍໃນ buffer. ນີ້
ພຶດຕິກໍາອາດຈະຖືກປ່ຽນແປງໂດຍຜ່ານຕົວແປ $expand. (ເບິ່ງ ພິເສດ Variables, ດ້ານລຸ່ມ).

ຕໍ່ໄປນີ້ແມ່ນຕົວຢ່າງຂອງການໃຊ້ຕົວແປພາຍໃນ buffer:

1> \set table_name=syscolumns
1> ເລືອກ count(*) ຈາກ $table_name
2> \ ໄປ

ນີ້ແມ່ນເທົ່າກັບການປະຕິບັດການສອບຖາມ:

1> ເລືອກ count(*) ຈາກ syscolumns
2> \ ໄປ

ໂດຍກົງ. ໂດຍປົກກະຕິ, ຄຸນສົມບັດນີ້ແມ່ນເປັນປະໂຫຍດສໍາລັບການນໍາໃຊ້ສະລັບສັບຊ້ອນຂະຫນາດໃຫຍ່ ບ່ອນທີ່ ຂໍ້, ຫຼື
ຊື່ຖັນຍາວ.

ກົດລະບຽບການອ້າງສິດໃຊ້ແບບດຽວກັນໃນ SQL buffers ຍ້ອນວ່າພວກເຂົາເຮັດຢູ່ໃນເສັ້ນຄໍາສັ່ງ. ນັ້ນແມ່ນ, ໃດ
ຕົວແປທີ່ມີຢູ່ໃນວົງຢືມຄູ່ (") ຖືກຂະຫຍາຍອອກແລະຕົວແປທີ່ມີຢູ່ໃນ
ວົງຢືມດຽວ (') ຖືກປະໄວ້ untouched. ດັ່ງນັ້ນ:

1> ເລືອກ "$username", '$username'
2> \ ໄປ

ໃຫ້ຜົນໄດ້ຮັບ

---- ---------
ສີຂີ້ເຖົ່າ $username

ຄໍາສັ່ງ ປ່ຽນແທນ

ເຊັ່ນດຽວກັນກັບເສັ້ນຄໍາສັ່ງ, ຜົນຜະລິດຂອງຄໍາສັ່ງ UNIX ອາດຈະຖືກທົດແທນພາຍໃນ SQL
buffer ເມື່ອປະຕິບັດ (ອີກເທື່ອຫນຶ່ງ, ພຽງແຕ່ຖ້າຕົວແປ $expand ຖືກຕັ້ງເປັນ 1, ຫຼື true). ໃນ
ສະຖານະການນີ້ຄໍາສັ່ງທີ່ມີຢູ່ໃນ back quotes (`) ຖືກແທນທີ່ດ້ວຍຜົນຜະລິດຂອງມັນ
ກ່ອນທີ່ຈະສົ່ງຕໍ່ buffer ໄປຫາເຄື່ອງແມ່ຂ່າຍ SQL. ຍົກ​ຕົວ​ຢ່າງ:

1> ເລືອກ count(*) ຈາກ `echo syscolumns`
2> \ ໄປ

ເຮັດໃຫ້ສາຍ 'echo syscolumns' ຖືກແທນທີ່ດ້ວຍຄໍາ syscolumns ກ່ອນທີ່ຈະ
ການ​ປະ​ຕິ​ບັດ​ຄໍາ​ສັ່ງ​. ຄວນສັງເກດວ່າເນື້ອໃນຂອງຄໍາສັ່ງທົດແທນແມ່ນ
ປະຕິບັດພຽງແຕ່ໃນເວລາຂອງ \ ໄປ ຄໍາສັ່ງ, ບໍ່ແມ່ນໃນເວລາທີ່ເສັ້ນຂອງ SQL ແມ່ນການປ້ອນຂໍ້ມູນ.

Flow-of-Control
ໃຫມ່ກັບຮຸ່ນ 2.0 ຂອງ sqsh, ແມ່ນຄວາມສາມາດໃນການປະຕິບັດການຄວບຄຸມການໄຫຼເຂົ້າຂັ້ນພື້ນຖານແລະ
ຫນ້າ​ທີ່​ການ​ນໍາ​ໃຊ້​ \ ຖ້າ, \ ໃນຂະນະທີ່, \ ເຮັດ, ແລະ \ ຟັງຊັນ ຄຳ ສັ່ງ.

ບລັອກ & SQL Buffers

ຄໍາສັ່ງການໄຫຼຂອງການຄວບຄຸມ sqsh ທັງຫມົດແມ່ນອີງໃສ່ຕັນ. ນັ້ນແມ່ນ, ຖ້າການສະແດງອອກຂອງການທົດສອບ
ຄໍາສັ່ງແມ່ນບັນລຸໄດ້, ຫຼັງຈາກນັ້ນຕັນຂອງ sqsh-script ຈະຖືກປະຕິບັດ. ສໍາລັບຕົວຢ່າງ, ຄໍານິຍາມ
ຂອງ \ ຖ້າ ຄໍາ​ສັ່ງ​ແມ່ນ​:

\if ການສະແດງອອກ
block
\fi

ນີ້ block ອາດຈະເປັນຈໍານວນແຖວຂອງຄໍາສັ່ງ sqsh, SQL, ຫຼື flow-of-control statements
ຈະຖືກປະຕິບັດຖ້າຫາກວ່າ ການສະແດງອອກ ປະເມີນເງື່ອນໄຂຄວາມສໍາເລັດ (0).

ແຕ່ລະຄົນ block ມີ SQL buffer ຂອງຕົນເອງສໍາລັບໄລຍະເວລາທີ່ block ຖືກ​ປະ​ຕິ​ບັດ​. ນັ້ນ​ແມ່ນ,
ຖະແຫຼງການຕໍ່ໄປນີ້:

1> /*
2> ** ການນໍາໃຊ້ທີ່ບໍ່ຖືກຕ້ອງຂອງ IF ບລັອກ
3> */
4> ເລືອກ count(*) ຈາກ
5> \if [ $x -gt 10 ]
6> sysobjects
7> \ ອື່ນ
8> sysindexes
9> \fi
5> ໄປ

ຈະ​ໃຫ້​ຜົນ​ຜະ​ລິດ​:

Msg 102, ລະດັບ 15, ລັດ 1
ເຊີບເວີ 'bps_pro', ແຖວທີ 1
syntax ບໍ່ຖືກຕ້ອງຢູ່ໃກ້ກັບ 'ຈາກ'

ເນື່ອງຈາກວ່າ string 'sysobjects' ຫຼື 'sysindexes' ຖືກໃສ່ເຂົ້າໄປໃນ SQL buffers ຂອງຕົນເອງ.
buffers ເຫຼົ່ານີ້ຖືກຍົກເລີກທັນທີທີ່ສິ້ນສຸດຂອງຕັນໄດ້ບັນລຸ, ແລະນັບຕັ້ງແຕ່ a \ ໄປ
ຄໍາສັ່ງບໍ່ໄດ້ຖືກບັນຈຸຢູ່ໃນບລັອກ, ບໍ່ມີຂໍ້ຜິດພາດເພີ່ມເຕີມທີ່ຖືກສ້າງຂຶ້ນ.

ດັ່ງນັ້ນ, ວິທີທີ່ຖືກຕ້ອງທີ່ຈະຂຽນຄໍາເວົ້າຂ້າງເທິງຈະເປັນ:

1> /*
2> ** ການນໍາໃຊ້ທີ່ເຫມາະສົມຂອງ IF ບລັອກ
3> */
4> \if [ $x -gt 10 ]
5> ເລືອກ count(*) ຈາກ sysobjects
6> ໄປ
7> \ ອື່ນ
8> ເລືອກ count(*) ຈາກ sysindexes
9> ໄປ
10> \fi

ຫຼື​ແມ້​ກະ​ທັ້ງ:

1> /*
2> ** ການນໍາໃຊ້ທີ່ເຫມາະສົມຂອງ IF ບລັອກ
3> */
4> \if [ $x -gt 10 ]
5> \set table_name=sysobjects
6> \ ອື່ນ
7> \set table_name=sysindexes
8> \fi
4> ເລືອກ * ຈາກ $table_name
5> ໄປ

ນອກຈາກນັ້ນ, ໃຫ້ສັງເກດວ່າຈໍານວນແຖວທີ່ສະແດງຢູ່ໃນຄໍາສັ່ງ sqsh ປັບເປັນປັດຈຸບັນ
ຕໍາແຫນ່ງໃນ SQL buffer ພາຍນອກຫຼັງຈາກເຖິງ \fi terminator.

ສຳ ນວນ

ຖະແຫຼງການ flow-of-control ທັງໝົດໃນ sqsh ໃຊ້ເປັນ ການສະແດງອອກ ການກໍານົດທີ່ block ຂອງ​ລະ​ຫັດ​
ເພື່ອປະຕິບັດ. ຄືກັນກັບ Bourne Shell ຂອງ UNIX, ນີ້ ການສະແດງອອກ ເປັນ​ພຽງ​ແຕ່​ລະ​ບົບ​ປະ​ຕິ​ບັດ​ການ​
ໂຄງການທີ່ຖືກປະຕິບັດໂດຍ sqsh. ຖ້າຄໍາສັ່ງສົ່ງຄືນສະຖານະການສໍາເລັດ (ໂທຫາ ການທ່ອງທ່ຽວ(0)),
ຫຼັງຈາກນັ້ນ, ຖືວ່າປະສົບຜົນສໍາເລັດ.

ຕົວຢ່າງ, ດ້ວຍຄໍາຖະແຫຼງຕໍ່ໄປນີ້:

\ ໃນຂະນະທີ່ທົດສອບ $x -lt 10
block
\ ສຳເລັດ

ຈະ​ປະ​ຕິ​ບັດ​ເນື້ອ​ໃນ​ຂອງ​ block ໃນຂະນະທີ່ມູນຄ່າປັດຈຸບັນຂອງ $x ແມ່ນໜ້ອຍກວ່າ 10. ໝາຍເຫດ
ວ່າ 'ການທົດສອບ' ແມ່ນໂຄງການ UNIX ມາດຕະຖານເພື່ອປະຕິບັດ string ພື້ນຖານຫຼືການປຽບທຽບຕົວເລກ
(ໃນ​ບັນ​ດາ​ສິ່ງ​ອື່ນໆ). ນອກຈາກນີ້, ບໍ່ເຫມືອນກັບແກະຈໍານວນຫຼາຍ, sqsh ບໍ່ມີຮຸ່ນຂອງ 'ການທົດສອບ'.

Sqsh ບໍ່, ແນວໃດກໍ່ຕາມ, ສະຫນັບສະຫນູນຮູບແບບສັ້ນມາດຕະຖານຂອງ 'ການທົດສອບ':

\ ໃນຂະນະທີ່ [ $x -lt 10 ]
block
\ ສຳເລັດ

ດ້ວຍການສະແດງນີ້, ວົງເລັບເປີດ ('[') ຖືກແທນທີ່ດ້ວຍຕົວແຍກ sqsh ດ້ວຍ 'test', ແລະ.
ວົງເລັບປິດ (']') ຖືກຍົກເລີກ.

ບໍ່ສະຫນັບສະຫນູນ ສຳ ນວນ

ໃນປັດຈຸບັນ sqsh ບໍ່ຮອງຮັບຕົວປະຕິບັດການ shell ມາດຕະຖານ '&&' ແລະ '||'.
ເຫຼົ່ານີ້ສາມາດປະຕິບັດໄດ້ເຊັ່ນນັ້ນ:

\if sh -c "cmd1 && cmd2"
block
\ ສຳເລັດ

\if ຖະແຫຼງການ

ໄດ້ \ ຖ້າ ຄໍາສັ່ງດໍາເນີນການປະຕິບັດເງື່ອນໄຂຂອງ sqsh block ອີງ​ຕາມ​ຜົນ​ຂອງ a
ການສະແດງອອກທີ່ສະໜອງໃຫ້:

\ ຖ້າ expr1
ຕັນ1
\elif expr2
ຕັນ2
\ ອື່ນໆ
ຕັນ3
\fi

ໃນຕົວຢ່າງນີ້, ຖ້າການສະແດງອອກ expr1 ປະເມີນເປັນຄວາມຈິງ, ຫຼັງຈາກນັ້ນຕັນ ຕັນ1 is
ການ​ປະ​ເມີນ​ຜົນ​. ຖ້າບໍ່ດັ່ງນັ້ນ, ຖ້າຫາກວ່າການສະແດງອອກ expr2 ປະເມີນເປັນຈິງ, ຈາກນັ້ນປິດກັ້ນ ຕັນ2 is
ການ​ປະ​ເມີນ​ຜົນ​. ສຸດທ້າຍ, ຖ້າການທົດສອບອື່ນໆລົ້ມເຫລວ ຕັນ3 ຖືກປະເມີນ.

ໃຫ້ສັງເກດວ່າ, ບໍ່ເຫມືອນກັບ Bourne Shell, ທຸກໆ \ ຖ້າ ຄໍາສັ່ງຕ້ອງມາພ້ອມກັບການຕໍ່ທ້າຍ \fi
ຖະແຫຼງການ. ນອກຈາກນີ້ parser sqsh ແມ່ນບໍ່ສະຫລາດ terribly: The \ ອື່ນໆ ແລະ \fi ບົດລາຍງານ
ຕ້ອງເປັນເນື້ອໃນດຽວໃນແຖວທີ່ພວກມັນປາກົດ, ແລະພວກມັນອາດຈະບໍ່ຖືກນາມແຝງ
ຊື່ອື່ນ.

\ ໃນຂະນະທີ່ຖະແຫຼງການ

ໄດ້ \ ໃນຂະນະທີ່ ຄໍາສັ່ງປະຕິບັດ a block ຂອງລະຫັດ sqsh ສໍາລັບໃນຂະນະທີ່ການສະແດງອອກທີ່ສະຫນອງ
ຍັງຄົງເປັນຄວາມຈິງ.

\ ໃນຂະນະທີ່ expr
block
\ ສຳເລັດ

ໃນຕົວຢ່າງນີ້, ໃນຂະນະທີ່ການສະແດງອອກ ຕົວຢ່າງ ປະເມີນເປັນຄວາມຈິງ, ຫຼັງຈາກນັ້ນຕັນ block is
ການ​ປະ​ເມີນ​ຜົນ​.

ໄດ້ \ ແຕກ ຄໍາຖະແຫຼງທີ່ອາດຈະຖືກນໍາໃຊ້ເພື່ອແຍກອອກຈາກພາຍໃນທີ່ສຸດ \ ໃນຂະນະທີ່ or \ ສໍາລັບ loop (ເພີ່ມເຕີມ
on \ ສໍາລັບ ດ້ານລຸ່ມ).

\ ສໍາລັບຄໍາຖະແຫຼງການ

ໄດ້ \ ສໍາລັບ ຄໍາສັ່ງປະຕິບັດ a block ຂອງລະຫັດ sqsh ສໍາລັບແຕ່ລະຄົນ ຄໍາ ສະໜອງໃຫ້:

\ ສໍາລັບ var ໃນຄໍາສັບ ...
block
\ ສຳເລັດ

ສໍາລັບແຕ່ລະຄົນ ຄໍາ ສະຫນອງໃຫ້, ມູນຄ່າຂອງຕົວແປ $var ຖືກກໍານົດເປັນຄໍາແລະ block of
ລະ​ຫັດ​ແມ່ນ​ປະ​ຕິ​ບັດ​. ການປະຕິບັດຈະສິ້ນສຸດລົງເມື່ອບໍ່ມີຄໍາເພີ່ມເຕີມໃນບັນຊີລາຍຊື່.

ເຊັ່ນ​ດຽວ​ກັບ \ ໃນຂະນະທີ່ ໄດ້ \ ແຕກ ຄໍາຖະແຫຼງທີ່ອາດຈະຖືກນໍາໃຊ້ເພື່ອແຍກອອກຈາກການປະຕິບັດພາຍໃນທີ່ສຸດ
ວົນ.

\ ເຮັດຄໍາສັ່ງ

ໄດ້ \ ເຮັດ ຄໍາສັ່ງແມ່ນປະເພດຂອງການຂ້າມລະຫວ່າງຄໍາຖະແຫຼງແລະຄໍາສັ່ງ.

ມັນແມ່ນຮູບແບບຂອງ \ ໄປ (ເບິ່ງຂ້າງລຸ່ມນີ້ສໍາລັບລາຍລະອຽດກ່ຽວກັບ \ ໄປ ຄໍາ​ສັ່ງ​) ຊຶ່ງ a block ຂອງ sqsh
ລະຫັດອາດຈະຖືກປະຕິບັດສໍາລັບແຕ່ລະແຖວຂອງຂໍ້ມູນທີ່ສົ່ງຄືນຈາກການສອບຖາມ. ໃນ​ເວ​ລາ​ທີ່ block is
ປະຕິບັດແລ້ວ, ຕົວແປ sqsh ພິເສດ #[0-9]+ (a hash ຕາມດ້ວຍຕົວເລກ) ອາດຈະຖືກນໍາໃຊ້ເພື່ອ
ອ້າງອິງຄ່າໃນການສອບຖາມທີ່ສົ່ງຄືນ. ສໍາລັບຕົວຢ່າງ, ຄໍາສັ່ງຕໍ່ໄປນີ້:

ເລືອກ id, ຊື່ຈາກ master..sysdatabases
\ ເຮັດ
\echo "ຖານຂໍ້ມູນການກວດສອບ #2, dbid #1"
ໃຊ້ #2
go
ດ່ານ
go
\ ສຳເລັດ

ຈະເຮັດໃຫ້ຄໍາສັ່ງ CHECKPOINT ຖືກອອກໃນແຕ່ລະຖານຂໍ້ມູນຢູ່ໃນເຄື່ອງແມ່ຂ່າຍ.

ຕົວເລືອກແຖວຄໍາສັ່ງ

ໄດ້ \ ເຮັດ ຄໍາສັ່ງສ້າງຕັ້ງການເຊື່ອມຕໍ່ໃຫມ່ທີ່ຈະນໍາໃຊ້ໂດຍ block ຂອງ​ລະ​ຫັດ​ໃນ​ເວ​ລາ​ທີ່​
ປະ​ຕິ​ບັດ​. ໂດຍຄ່າເລີ່ມຕົ້ນ, ການເຊື່ອມຕໍ່ນີ້ຖືກສ້າງຕັ້ງຂຶ້ນກັບເຄື່ອງແມ່ຂ່າຍປະຈຸບັນ (ປະຈຸບັນ
ການ​ຕັ້ງ​ຄ່າ​ຂອງ $DSQUERY), ການ​ນໍາ​ໃຊ້​ຊື່​ຜູ້​ໃຊ້​ໃນ​ປະ​ຈຸ​ບັນ ($ ຊື່ຜູ້ໃຊ້) ແລະ​ລະ​ຫັດ​ຜ່ານ​ໃນ​ປະ​ຈຸ​ບັນ​
($password). ແນວໃດກໍ່ຕາມ, ພຶດຕິກໍານີ້ອາດຈະຖືກລົບລ້າງໂດຍໃຊ້ຕົວເລືອກແຖວຄໍາສັ່ງ:

-D ຖານ​ຂໍ້​ມູນ​
ສ້າງການເຊື່ອມຕໍ່ກັບຖານຂໍ້ມູນຕາມທີ່ສະຫນອງໃຫ້ ຖານຂໍ້ມູນ.

-U ຊື່​ຜູ້​ໃຊ້​
ສ້າງການເຊື່ອມຕໍ່ກັບເຊີບເວີຕາມທີ່ສະໜອງໃຫ້ ຊື່ຜູ້ໃຊ້.

-P ລະ​ຫັດ​ຜ່ານ​
ສ້າງການເຊື່ອມຕໍ່ກັບເຄື່ອງແມ່ຂ່າຍໂດຍໃຊ້ອຸປະກອນທີ່ສະຫນອງ ລະຫັດຜ່ານ (ເຊິ່ງແມ່ນ
ຫວັງເປັນຢ່າງຍິ່ງວ່າລະຫັດຜ່ານທີ່ຖືກຕ້ອງສໍາລັບການສະຫນອງ ຊື່ຜູ້ໃຊ້).

-S ເຊີບເວີ
ສ້າງ​ການ​ເຊື່ອມ​ຕໍ່​ກັບ​ສະ​ຫນອງ​ໃຫ້​ ເຄື່ອງແມ່ຂ່າຍ.

-n ຢ່າສ້າງການເຊື່ອມຕໍ່ສໍາລັບການນໍາໃຊ້ໂດຍ \ ເຮັດ ວົງ. ທຸງນີ້ແມ່ນສະເພາະເຊິ່ງກັນແລະກັນ
ກັບທຸງຂ້າງເທິງ. ດ້ວຍທຸງນີ້ເປີດໃຊ້ງານ, ພະຍາຍາມປະຕິບັດຄໍາສັ່ງຖານຂໍ້ມູນ
ພາຍໃນ block ຈະສ້າງຄວາມວຸ້ນວາຍຂອງຄວາມຜິດພາດ CT-Library.

ຕົວແປຖັນ

ດັ່ງທີ່ໄດ້ກ່າວມາຂ້າງເທິງ, ຄ່າຂອງຖັນໃນຊຸດຜົນໄດ້ຮັບໃນປະຈຸບັນອາດຈະຖືກກໍານົດ
ໃຊ້ຕົວແປພິເສດ #[0-9]+. ດັ່ງນັ້ນ, ຕົວແປ #1 ຈະມີຄ່າຂອງ
ຖັນໝາຍເລກໜຶ່ງຂອງຊຸດຜົນໄດ້ຮັບປະຈຸບັນ, ແລະ #122 ສາມາດບັນຈຸຄ່າຂອງ
ຖັນທີ 122 (ຕົວເລກຖັນເລີ່ມຕົ້ນທີ່ 1).

ໃນກໍລະນີຂອງຮັງ \ ເຮັດ loops, ຄ່າໃນລະດັບການຮັງກ່ອນຫນ້າອາດຈະຖືກອ້າງເຖິງໂດຍ
ພຽງແຕ່ຕື່ມການເພີ່ມ '#' ສໍາລັບແຕ່ລະລະດັບການຮັງທີ່ຜ່ານມາ, ເຊັ່ນ:

ເລືອກ id, ຊື່ຈາກ sysobjects
\ ເຮັດ
ເລືອກຊື່, indid ຈາກ sysindexes ບ່ອນທີ່ id = #1
\ ເຮັດ
\echo "ຕາຕະລາງ ##2 (objid ##1) ມີດັດຊະນີ #1"
\ ສຳເລັດ
\ ສຳເລັດ

ແນ່ນອນ, ນີ້ບໍ່ແມ່ນວິທີທີ່ເຈົ້າຈະເຮັດແບບສອບຖາມນີ້ໃນຊີວິດຈິງ, ແຕ່ເຈົ້າໄດ້ຮັບຄວາມຄິດ.

ເມື່ອຂະຫຍາຍຖັນທີ່ມີຄ່າ NULL, ຕົວແປຖັນຈະຂະຫຍາຍອອກໄປເປັນຫວ່າງເປົ່າ
string (''). ນອກຈາກນັ້ນ, ການອ້າງອີງເຖິງຖັນທີ່ບໍ່ມີຢູ່ແລ້ວ, ເຊັ່ນ: #0, ຈະສົ່ງຜົນໃຫ້ຫວ່າງເປົ່າ
string ('').

ເຊັ່ນດຽວກັນກັບຕົວແປ sqsh ປົກກະຕິ (ທີ່ອ້າງອີງດ້ວຍ '$'), ຕົວແປຖັນຈະບໍ່ເປັນ.
ຂະຫຍາຍເມື່ອມີຢູ່ໃນວົງຢືມດຽວ.

ການເອົາລູກອອກ

ຖ້າ \ ແຕກ or \ ກັບຄືນ ຄໍາສັ່ງຖືກອອກໃນລະຫວ່າງການປະມວນຜົນຂອງ a \ ເຮັດ loop, ໄດ້
ການສອບຖາມໃນປະຈຸບັນຈະຖືກຍົກເລີກ, ການເຊື່ອມຕໍ່ທີ່ໃຊ້ໂດຍ loop ຈະຖືກປິດ (ເວັ້ນເສຍແຕ່ວ່າ
-n ທຸງໄດ້ຖືກສະຫນອງ) ແລະ \ ເຮັດ loop ຈະຍົກເລີກ.

\func ຄໍາສັ່ງ

ໄດ້ \ ຟັງຊັນ ຄໍາສັ່ງແມ່ນໃຊ້ເພື່ອກໍານົດບລັອກທີ່ໃຊ້ຄືນໃຫມ່ຂອງລະຫັດ sqsh ເປັນຫນ້າທີ່. ຟັງຊັນ
ຖືກກໍານົດໄວ້ເຊັ່ນ:

\ ສະຖິຕິການເຮັດວຽກ
\if [ $# -ne 1 ]
\echo "ໃຊ້: ສະຖິຕິ [ເປີດ | ປິດ]"
\ ກັບຄືນ 1
\fi
ຕັ້ງສະຖິຕິ io ${1}
ຕັ້ງເວລາສະຖິຕິ ${1}
go
\ ສຳເລັດ

ໃນຕົວຢ່າງນີ້, ຫນ້າທີ່ໃຫມ່ແມ່ນເອີ້ນວ່າ ສະຖິຕິ ທີ່ຄາດວ່າຈະມີການໂຕ້ຖຽງດຽວ,
ບໍ່ວ່າຈະ "ເປີດ" ຫຼື "ປິດ". ການນໍາໃຊ້ການໂຕ້ຖຽງນີ້, ສະຖິຕິ ຈະເປີດໃຊ້ຫຼືປິດການໃຊ້ງານໂດຍອີງໃສ່ເວລາແລະ
ສະຖິຕິທີ່ອີງໃສ່ I/O.

ເມື່ອຖືກສ້າງຕັ້ງຂຶ້ນ, ຟັງຊັນອາດຈະຖືກເອີ້ນເຊັ່ນນັ້ນ:

\ ສະຖິຕິການໂທເປີດ

ເຮັດໃຫ້ທຸກຕົວຢ່າງຂອງ ${1} ຖືກແທນທີ່ດ້ວຍ argument ແຖວຄໍາສັ່ງທໍາອິດ
ສະຖິຕິ.

ຕົວເລືອກແຖວຄໍາສັ່ງ

ໃນປັດຈຸບັນມີພຽງແຕ່ຫນຶ່ງ argument ເສັ້ນຄໍາສັ່ງສາມາດໃຊ້ໄດ້ກັບ \ ຟັງຊັນ ຄໍາສັ່ງ.

-x ເຮັດໃຫ້ຟັງຊັນຖືກສົ່ງອອກເປັນ a sqsh ຄໍາສັ່ງ. ນັ້ນແມ່ນ, ຫນ້າທີ່ອາດຈະເປັນ
ຮຽກ​ຮ້ອງ​ໂດຍ​ກົງ​ໂດຍ​ບໍ່​ມີ​ການ​ຮຽກ​ຮ້ອງ​ໃຫ້​ມີ​ \ ໂທ ຄໍາສັ່ງ. ພຶດຕິກໍານີ້ແມ່ນທາງເລືອກ
ເນື່ອງຈາກວ່າຊື່ຄໍາສັ່ງສາມາດຂັດແຍ້ງກັບຄໍາຫລັກ T-SQL. ໃນເວລາທີ່ການນໍາໃຊ້ນີ້
ແນະນຳໃຫ້ເຈົ້າໃສ່ backslash (\) ໃສ່ຊື່ຟັງຊັນຂອງເຈົ້າ.

ຕົວແປການທໍາງານ

ດັ່ງທີ່ສະແດງຢູ່ໃນຕົວຢ່າງຂ້າງເທິງ, ຕົວແປພິເສດຈໍານວນຫນຶ່ງແມ່ນມີຢູ່ສໍາລັບການນໍາໃຊ້ພາຍໃນ
ຮ່າງກາຍຂອງຫນ້າທີ່. ພວກ​ນີ້​ແມ່ນ:

$# ຂະຫຍາຍໄປຫາຈຳນວນຂອງອາກິວເມັນທີ່ສະໜອງໃຫ້ກັບຟັງຊັນ ຫຼືສະຄຣິບເມື່ອຖືກເອີ້ນ.

$* ຂະຫຍາຍໄປຫາບັນຊີລາຍຊື່ເຕັມຂອງອາກິວເມັນທີ່ສະໜອງໃຫ້ກັບຟັງຊັນ ຫຼືສະຄຣິບເມື່ອ
ຮຽກຮ້ອງ.

${0}..${N}
ຂະຫຍາຍໄປສູ່ການໂຕ້ແຍ້ງຕໍາແໜ່ງໄປຫາຟັງຊັນ. ${0} ແມ່ນຊື່ຂອງຟັງຊັນ
ຖືກເອີ້ນ, ${1} ແມ່ນອາກິວເມັນທຳອິດ, ${2} ອັນທີສອງ ແລະອັນອື່ນ, ຂຶ້ນກັບການໂຕ້ຖຽງ
N. ໃຫ້ສັງເກດວ່າ, ບໍ່ເຫມືອນກັບ shells ສ່ວນໃຫຍ່, sqsh ຮຽກຮ້ອງໃຫ້ອາກິວເມັນຟັງຊັນຖືກກ່າວເຖິງ
ໂດຍໃຊ້ syntax brace curly ພິເສດ (${1}, ແທນທີ່ຈະ $1). ເຫດຜົນສໍາລັບການນີ້ແມ່ນ
ວ່າ $1 ເປັນມູນຄ່າ MONEY ທີ່ຖືກຕ້ອງ ແລະການໃຊ້ວົງເລັບ curly ກໍາຈັດຄວາມບໍ່ແນ່ນອນນີ້.

$? ຫຼັງ​ຈາກ​ການ​ຮຽກ​ຮ້ອງ​ຂອງ​ຫນ້າ​ທີ່​, ນີ້​ຈະ​ປະ​ກອບ​ດ້ວຍ​ຄ່າ​ຕອບ​ແທນ​ຂອງ​ຕົນ (ເບິ່ງ​ຂ້າງ​ລຸ່ມ​ນີ້​)​.

ມູນຄ່າກັບຄືນ

ຄ່າອາດຈະຖືກສົ່ງຄືນຈາກຟັງຊັນໃດໜຶ່ງຜ່ານທາງ \ ກັບຄືນ ຄໍາສັ່ງ.

ເຊັ່ນ​ດຽວ​ກັນ​:

\ ກັບຄືນ N

ບ່ອນທີ່ N ເປັນມູນຄ່າບວກ. ຄ່າກັບຄືນນີ້ແມ່ນມີໃຫ້ຜູ້ໂທຂອງຟັງຊັນ
ຜ່ານ $? ຕົວແປ. ໃນຖານະເປັນສົນທິສັນຍາ, ຄ່າກັບຄືນຂອງ 0 ແມ່ນໃຊ້ເພື່ອຊີ້ບອກຜົນສໍາເລັດ.

If \ ກັບຄືນ ບໍ່ໄດ້ຖືກເອີ້ນຢ່າງຈະແຈ້ງ, ຄ່າເລີ່ມຕົ້ນແມ່ນຄ່າປັດຈຸບັນຂອງ
$? ຕົວແປ (ທີ່ຖືກກໍານົດເປັນ 0 ເມື່ອເຂົ້າຂອງຟັງຊັນ). ດັ່ງນັ້ນ, ຖ້າຄໍາຖະແຫຼງ SQL ໃດ
ແມ່ນ invoked ພາຍໃນຟັງຊັນ, ມູນຄ່າກັບຄືນເລີ່ມຕົ້ນຂອງ $? ຈະເປັນຄວາມຜິດພາດສຸດທ້າຍ
ລະຫັດກັບຄືນມາໃນລະຫວ່າງການປະມວນຜົນຄໍາຖະແຫຼງ SQL.

Kerberos ສະຫນັບສະຫນູນ
ເລີ່ມ​ຕົ້ນ​ກັບ​ສະ​ບັບ 2.1.6​, sqsh ໃຫ້ຕົວເລືອກເສັ້ນຄໍາສັ່ງດຽວກັນກັບ isql ການຈັດການ
ການພິສູດຢືນຢັນເຄືອຂ່າຍ Kerberos.

ໃນເວີຊັນ 2.1.5 ທົດລອງຮອງຮັບ Kerberos ໄດ້ຖືກເພີ່ມໂດຍໃຊ້ຕົວເລືອກ -K ແລະ -R. - ກ
ແມ່ນພຽງແຕ່ປຸ່ມເພື່ອຕັ້ງ Kerberos ເທົ່ານັ້ນ. ໃນ sqsh 2.1.6 ການປະຕິບັດແບບພິເສດຂອງ
ການພິສູດຢືນຢັນເຄືອຂ່າຍໄດ້ຖືກນໍາສະເຫນີ, ເຖິງແມ່ນວ່າຍັງມີການທົດລອງ.

ໂດຍການນໍາໃຊ້ຕົວກໍານົດການ -K, -R, -V, -Z ທ່ານສາມາດນໍາໃຊ້ຄວາມປອດໄພຂອງເຄືອຂ່າຍທີ່ທ່ານກໍານົດ
ການຕັ້ງຄ່າ (libtcl.cfg). ຕົວເລືອກທີ່ມີຊື່ແມ່ນຄືກັນກັບທີ່ກຳນົດໄວ້ isql.

-K keytab_file
ຊື່ Keytab_file ສໍາລັບ DCE.

-R server_principal
ຊື່ຫຼັກຂອງເຊີບເວີ ເມື່ອຊື່ເຊີບເວີທີ່ລະບຸໄວ້ໃນອິນເຕີເຟດແຕກຕ່າງຈາກຊື່ແທ້
ຊື່ເຊີບເວີ.

-V [bcdimoqru]
ລະບຸຕົວເລືອກຄວາມປອດໄພເພື່ອໃຊ້ກັບກົນໄກຄວາມປອດໄພ. ແຕ່ລະລັກສະນະຢືນສໍາລັບ
ການບໍລິການຄວາມປອດໄພສະເພາະ.

-Z [secmech|ຄ່າເລີ່ມຕົ້ນ|ບໍ່ມີ]
ຮ້ອງຂໍກົນໄກຄວາມປອດໄພທີ່ກໍານົດສໍາລັບ Kerberos, DCE ຫຼື PAM ໃນໄຟລ໌ libtcl.cfg ຂອງທ່ານ.
ການນໍາໃຊ້ secmech ເພື່ອລະບຸຊື່ຂອງການເຂົ້າ SECURITY ຫຼື Default ສໍາລັບຄັ້ງທໍາອິດທີ່ມີຢູ່
ເຂົ້າໃນ libtcl.cfg. ບໍ່ມີ ຕ້ອງຖືກລະບຸເພື່ອປິດການພິສູດຢືນຢັນເຄືອຂ່າຍ ຫຼືຣີເຊັດ
ຄ່າທີ່ມີຢູ່ທີ່ເປັນໄປໄດ້ໃນຕົວແປ $secmech or $secure_options.

ຕົວຢ່າງ, ການເຊື່ອມຕໍ່ກັບເຄື່ອງແມ່ຂ່າຍໂດຍໃຊ້ Kerberos (ເຊິ່ງເກີດຂື້ນເປັນຄ່າເລີ່ມຕົ້ນ, ie
ລາຍການທຳອິດໃນແຖບ libtcl.cfg [SECURITY] ໃນຕົວຢ່າງນີ້):

~> sqsh -SSYB1502 -Uuser1 -RFC6A1502 -Z
\connect: ເຊດຊັນການຮັບຮອງເຄືອຂ່າຍໝົດອາຍຸເວລາ:
16 Feb 2010 15:28:39 (11764 ວິນາທີ)
SYB1502.user1.master.1> ເລືອກ @@servername,@@authmech,
show_sec_services();
--------------------------------------------------------- -----------
FC6A1502 kerberos unifiedlogin delegation mutualauth
ຄວາມລັບຄວາມຊື່ສັດ
detectreplay detectseq

ໃຫ້ສັງເກດວ່າຊື່ທີ່ແທ້ຈິງຂອງເຄື່ອງແມ່ຂ່າຍ (@@servername) ແຕກຕ່າງຈາກຊື່ເຄື່ອງແມ່ຂ່າຍໃນ
ໄຟລ໌ interfaces, ດັ່ງນັ້ນພວກເຮົາຕ້ອງລະບຸຊື່ຕົ້ນຕໍໂດຍຜ່ານ -R ພາລາມິເຕີ. ເມື່ອ​ໃດ​
ທ່ານບໍ່ໄດ້ລະບຸ -V ພາລາມິເຕີຮ່ວມກັບ -Z, ທັງຫມົດທາງເລືອກຄວາມປອດໄພທີ່ມີຢູ່ຈະ
ຖືກເປີດໃຊ້. ເມື່ອ​ໃດ​ -V ຖືກລະບຸໂດຍບໍ່ມີທາງເລືອກການບໍລິການຄວາມປອດໄພໃດໆ, ພຽງແຕ່ທາງເລືອກ u ສໍາລັບການ
ການພິສູດຢືນຢັນເຄືອຂ່າຍຈະຖືກຕັ້ງຢ່າງຈະແຈ້ງ ແລະກົນໄກຄວາມປອດໄພເລີ່ມຕົ້ນຈະເປັນ
ໃຊ້ຖ້າ -Z ບໍ່ໄດ້ລະບຸ.

[user1@linux-fc6a ~]$ sqsh -SFC6A1502 -Uuser1 -V
ເປີດຂໍ້ຄວາມລູກຄ້າ
ຊັ້ນ 7, ຕົ້ນກໍາເນີດ 9, ຄວາມຮຸນແຮງ 5, ຈໍານວນ 1
ct_connect(): ຊັ້ນບໍລິການຄວາມປອດໄພ: ການຄວບຄຸມຄວາມປອດໄພພາຍໃນ
ຄວາມຜິດພາດຊັ້ນ:
ຜູ້ໃຫ້ບໍລິການຄວາມປອດໄພມີຂໍ້ຜິດພາດພາຍໃນ -1765328352
ເກີດຂື້ນ.
[user1@linux-fc6a ~]$ kinit
ລະຫັດຜ່ານສໍາລັບ user1@LOCALDOMAIN:
[user1@linux-fc6a ~]$ sqsh -SFC6A1502 -Uuser1 -V
\connect: ເຊດຊັນການຮັບຮອງເຄືອຂ່າຍໝົດອາຍຸເວລາ:
16 Feb 2010 15:28:39 (10964 ວິນາທີ)
FC6A1502.user1.master.1>

ເມື່ອການເຊື່ອມຕໍ່ປະສົບຜົນສໍາເລັດ, sqsh ຈະເກັບຮັກສາຊື່ທີ່ແທ້ຈິງຂອງກົນໄກຄວາມປອດໄພໃນ
ຕົວແປ $secmech. ຕົວຢ່າງ: "\echo $secmech" ອາດຈະສະແດງ csfkrb5. ພາລາມິເຕີ -V
ເອົາບັນຊີລາຍຊື່ຂອງຕົວອັກສອນຈາກຄ່າທີ່ເປັນໄປໄດ້ຂອງ bcdimoqru. ທາງເລືອກ u ເຮັດໃຫ້
ການພິສູດຢືນຢັນເຄືອຂ່າຍ, ແມ່ນຄ່າເລີ່ມຕົ້ນ ແລະຈະຖືກຕັ້ງຕະຫຼອດເວລາເມື່ອນຳໃຊ້ -V or -Z,
ລະບຸຫຼືບໍ່.

b - chanbinding : ການຜູກມັດຊ່ອງ
c - ຄວາມລັບ: ບໍລິການຮັກສາຄວາມລັບຂໍ້ມູນ
d - delegation : ອະ​ນຸ​ຍາດ​ໃຫ້​ໃບ​ຢັ້ງ​ຢືນ​ການ​ມອບ​ຫມາຍ​
i - integrity : ການບໍລິການຄວາມສົມບູນຂອງຂໍ້ມູນ
m - mutualauth : ການ​ກວດ​ສອບ​ເຊິ່ງ​ກັນ​ແລະ​ກັນ​ສໍາ​ລັບ​ການ​ເຊື່ອມ​ຕໍ່​
ການສ້າງຕັ້ງ
o - dataorigin : ການ​ບໍ​ລິ​ການ​ສະ​ແຕມ​ຕົ້ນ​ກໍາ​ເນີດ​ຂໍ້​ມູນ​
q - detectseq : ການຊອກຄົ້ນຫານອກລໍາດັບ
r - detectreplay : ການ​ກວດ​ສອບ​ການ replay ຂໍ້​ມູນ​
u - unifiedlogin : ການຢືນຢັນເຄືອຂ່າຍ

ກະລຸນາກວດເບິ່ງ master.dbo.syssecmechs ສໍາລັບການບໍລິການທີ່ມີຢູ່. ບໍ່ມີຢູ່ຫຼືບໍ່ຮອງຮັບ
ການ​ບໍ​ລິ​ການ​ສະ​ຫນອງ​ໃຫ້​ກັບ​ -V ຖືກລະເລີຍຢ່າງງຽບໆ. ຖ້າທ່ານລະບຸ -V ແລະ / ຫຼື -Z, sqsh ສົມມຸດ
ການພິສູດຢືນຢັນເຄືອຂ່າຍໄດ້ຖືກພະຍາຍາມແລະບໍ່ຈໍາເປັນຕ້ອງມີລະຫັດຜ່ານ.

ຖ້າ​ຫາກ​ທ່ານ​ມີ​ການ​ເຊື່ອມ​ຕໍ່​ການ​ກວດ​ສອບ​ເຄືອ​ຂ່າຍ​ແລະ​ຕ້ອງ​ການ \reconnect ໂດຍ​ການ​ນໍາ​ໃຊ້ ASE ປົກກະຕິ​
ການກວດສອບຄວາມຖືກຕ້ອງດ້ວຍຊື່ຜູ້ໃຊ້ແລະລະຫັດຜ່ານ, ທ່ານຕ້ອງຕັ້ງຄ່າການຢືນຢັນເຄືອຂ່າຍຄືນໃຫມ່
ຕົວແປໂດຍການລະບຸ -Znone

ຍົກ​ຕົວ​ຢ່າງ:

[user1@linux-fc6a ~]$ sqsh -SFC6A1502 -Uuser1 -V
\connect: ເຊດຊັນການຮັບຮອງເຄືອຂ່າຍໝົດອາຍຸເວລາ:
16 Feb 2010 15:28:39 (10764 ວິນາທີ)
FC6A1502.user1.master.1> \echo $secmech csfkrb5
FC6A1502.user1.master.1> \reconnect -SASE1502 -Usa -Psybase
ເປີດຂໍ້ຄວາມລູກຄ້າ
ຊັ້ນ 7, ຕົ້ນກໍາເນີດ 9, ຄວາມຮຸນແຮງ 5, ຈໍານວນ 8
ct_connect(): ຊັ້ນບໍລິການຄວາມປອດໄພ: ການຄວບຄຸມຄວາມປອດໄພພາຍໃນ
ຄວາມຜິດພາດຊັ້ນ:
ການກວດສອບຄວາມສອດຄ່ອງທີ່ດໍາເນີນຢູ່ໃນຂໍ້ມູນປະຈໍາບໍ່ສໍາເລັດ
(ສະຖານະພາບເລັກນ້ອຍ 0).
FC6A1502.user1.master.1> \reconnect -SASE1502 -Usa -Psybase -Znone
ASE1502.sa.master.1>

\reconnect ທໍາອິດລົ້ມເຫລວເພາະວ່າ sqsh ຍັງຕ້ອງການລອງການພິສູດຢືນຢັນເຄືອຂ່າຍ.
ຢ່າງໃດກໍ່ຕາມ, ບໍ່ມີຜູ້ໃຊ້ຫຼັກສໍາລັບ 'sa' ແລະບໍ່ມີຕົ໋ວຖືກກໍານົດແລະດັ່ງນັ້ນການເຊື່ອມຕໍ່
ລົ້ມເຫລວ. ທີ່​ສອງ \ ເຊື່ອມຕໍ່ຄືນໃໝ່ ສໍາເລັດເປັນທາງເລືອກ -Znone ປັບຕົວແປທີ່ເຫມາະສົມ.
ຖ້າປີ້ Kerberos ຖືກຕໍ່ອາຍຸກັບ ກິນິດ ຫຼືເຄື່ອງມືລູກຄ້າອື່ນໆ, ໄດ້ sqsh ກອງປະຊຸມ
ຕ້ອງປະຕິບັດເປັນ \ ເຊື່ອມຕໍ່ຄືນໃໝ່ ເພື່ອໂຫຼດຂໍ້ມູນປະຈໍາຕົວຄືນໃໝ່ ແລະປ້ອງກັນການປະຊຸມກ່ອນໄວອັນຄວນ
ເອົາລູກອອກ. ດ້ວຍຄໍາສັ່ງ \snace ທ່ານສາມາດຮ້ອງຂໍໃຫ້ມີໄລຍະເວລາຫມົດອາຍຸຂອງເຊດຊັນ.
ອີງຕາມການບໍລິການຄວາມປອດໄພທີ່ຖືກກໍານົດ, ການເຊື່ອມຕໍ່ຖານຂໍ້ມູນອາດຈະຖືກປິດ
ໂດຍບໍ່ມີການເຕືອນໄພທັນທີທີ່ປີ້ຫມົດອາຍຸ.

ເບິ່ງບົດທີ 16 "ການພິສູດຢືນຢັນພາຍນອກ" ຈາກຄູ່ມືການຄຸ້ມຄອງລະບົບ Sybase
ປະລິມານ 1 ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມກ່ຽວກັບການພິສູດຢືນຢັນເຄືອຂ່າຍ Kerberos, ea

ສາມາດ


ອ່ານ-Eval-Print
ວົງ read-eval-print ແມ່ນຫົວໃຈຂອງລະບົບ sqsh ແລະຮັບຜິດຊອບຕໍ່ການກະຕຸ້ນເຕືອນ
ຜູ້ໃຊ້ສໍາລັບການປ້ອນຂໍ້ມູນແລະກໍານົດສິ່ງທີ່ຄວນເຮັດກັບມັນ. ໂດຍປົກກະຕິ loop ນີ້ແມ່ນສໍາລັບ
ການນໍາໃຊ້ພາຍໃນເທົ່ານັ້ນ, ຢ່າງໃດກໍຕາມ, ພວກເຂົາເຈົ້າແມ່ນເປີດໃຫ້ຜູ້ໃຊ້ເນື່ອງຈາກວ່າມີບາງຄວາມຄິດສ້າງສັນ
ສິ່ງທີ່ສາມາດເຮັດໄດ້ກັບເຂົາເຈົ້າ.

\loop [-i] [-n] [-e sql] [file]
ໄດ້ \ ວົງ ຄໍາ​ສັ່ງ​ອ່ານ​ການ​ປ້ອນ​ຂໍ້​ມູນ​ທັງ​ຈາກ​ໄຟລ​໌​, ຄໍາ​ສັ່ງ SQL ສະ​ຫນອງ​ໃຫ້​, ຫຼື​ຈາກ a
ຜູ້ໃຊ້ (ເບິ່ງຕົວເລືອກຂ້າງລຸ່ມນີ້), ກໍານົດວ່າເສັ້ນປະຈຸບັນແມ່ນສ່ວນຫນຶ່ງຂອງ a
ຄໍາຖະແຫຼງ TSQL ຫຼືຄໍາສັ່ງ sqsh, ແລະປະຕິບັດການປະຕິບັດທີ່ເຫມາະສົມ. ເມື່ອແລ່ນເຂົ້າ
ຮູບແບບການໂຕ້ຕອບ \ ວົງ ຍັງມີຄວາມຮັບຜິດຊອບໃນການສະແດງການກະຕຸ້ນເຕືອນໃນປະຈຸບັນ (ເບິ່ງ
$prompt ດ້ານລຸ່ມ).

\ ວົງ ສຳເລັດເມື່ອການປ້ອນຂໍ້ມູນທັງໝົດໝົດໄປ (ພົບເອກະສານສິ້ນສຸດ) ຫຼືເມື່ອໃດ
ຄໍາສັ່ງ, ເຊັ່ນ: \ ອອກ ຮ້ອງ​ຂໍ​ວ່າ​ \ ວົງ ອອກຈາກ.

-i ປົກກະຕິ, ຖ້າ ເອກະສານ ແມ່ນ​ສະ​ຫນອງ​ໃຫ້​ແລະ​ບໍ່​ມີ​, \ ວົງ ຈະກັບຄືນມາດ້ວຍຄວາມຜິດພາດ
ເງື່ອນໄຂ, ປົກກະຕິແລ້ວເຮັດໃຫ້ sqsh ອອກໄປ. ໂດຍການສະຫນອງ -i ທຸງ, ການຄວບຄຸມຈະເປັນ
ກັບຄືນໄປຫາວົງການການໂທຄືກັບວ່າໄຟລ໌ສິ້ນສຸດໄດ້ມາຮອດ (ນັ້ນແມ່ນ, ບໍ່ມີ
ສະ​ພາບ​ຄວາມ​ຜິດ​ພາດ​)​.

-n ໂດຍຄ່າເລີ່ມຕົ້ນ, \ ວົງ ອັດຕະໂນມັດຈະພະຍາຍາມເຊື່ອມຕໍ່ກັບຖານຂໍ້ມູນຖ້າຫາກວ່າ a
ການ​ເຊື່ອມ​ຕໍ່​ຍັງ​ບໍ່​ທັນ​ໄດ້​ຮັບ​ການ​ສ້າງ​ຕັ້ງ​ຂຶ້ນ​ໂດຍ​ຜ່ານ​ການ​ \ ເຊື່ອມຕໍ່ ຄຳ ສັ່ງ. ທ -n ທຸງ
ປິດການທໍາງານການອະນຸຍາດນີ້ \ ວົງ ເພື່ອປະມວນຜົນຄໍາສັ່ງທີ່ບໍ່ຕ້ອງການ
ສະຫນັບສະຫນູນຖານຂໍ້ມູນ.

-e sql
ສາເຫດ \ ວົງ ເພື່ອປະມວນຜົນເນື້ອໃນຂອງ sql ຄືກັບວ່າຜູ້ໃຊ້ໄດ້ພິມມັນຢູ່ທີ່
ການ​ກະ​ຕຸ້ນ​ແລະ​ການ​ຮຽກ​ຮ້ອງ implicit ກັບ​ \ ໄປ ຈະຖືກຕື່ມໃສ່ໃນຖະແຫຼງການໂດຍອັດຕະໂນມັດ. ຖ້າ
ຫຼາຍຕົວຢ່າງຂອງ -e ໄດ້ຖືກສະຫນອງ, ພວກມັນທັງຫມົດຖືກສົ່ງເປັນຊຸດດຽວໄປຫາ
SQL Server ສໍາລັບການປຸງແຕ່ງ. ຕົວເລືອກນີ້ອາດຈະບໍ່ຖືກນໍາໃຊ້ໃນການປະສົມປະສານກັບ a ເອກະສານ
ຊື່ເຊັ່ນດຽວກັນ.

ເອກະສານ
ລະບຸຊື່ຂອງ a ເອກະສານ ເພື່ອໃຊ້ເປັນການປ້ອນຂໍ້ມູນແທນທີ່ຈະອ່ານການປ້ອນຂໍ້ມູນຈາກ
ຜູ້ໃຊ້ຫຼືຈາກ -e ທຸງ.

ຖານຂໍ້ມູນ ການເຂົ້າເຖິງ

ໃຫ້ຂະຫນາດແລະຄວາມຊັບຊ້ອນຂອງ sqsh (ພຽງແຕ່ເບິ່ງຄວາມຍາວຂອງຫນ້າຜູ້ຊາຍນີ້), ມັນແມ່ນ
ໃຫ້ປະລາດໃຈຫຼາຍປານໃດຄໍາສັ່ງການຈັດການຖານຂໍ້ມູນທີ່ຕົວຈິງແລ້ວມີ. ຕໍ່ໄປນີ້ແມ່ນ
ຄໍາສັ່ງທີ່ມີຜົນກະທົບຫຼືນໍາໃຊ້ການເຊື່ອມຕໍ່ຖານຂໍ້ມູນໃນປະຈຸບັນ:

\connect [-c] [-D db] [-S srv] [-U user] [-P pass] [-I ifile] [-K keytab] [-R
server_principal] [-n] [-N appname] [-Q query_timeout] [-T login_timeout] [-V [bcdimoqru]]
[-Z [secmech|ຄ່າເລີ່ມຕົ້ນ|ບໍ່ມີ]]
ຄໍາສັ່ງນີ້ຖືກນໍາໃຊ້ຕົ້ນຕໍສໍາລັບການນໍາໃຊ້ພາຍໃນເພື່ອສ້າງການເຊື່ອມຕໍ່ກັບ a
ຖານຂໍ້ມູນ. ຖ້າຫາກວ່າການເຊື່ອມຕໍ່ໄດ້ຖືກສ້າງຕັ້ງຂຶ້ນແລ້ວ, ມັນບໍ່ມີຜົນ, ຢ່າງໃດກໍຕາມຖ້າຫາກວ່າ a
ການເຊື່ອມຕໍ່ຍັງບໍ່ທັນໄດ້ສ້າງຕັ້ງຂຶ້ນແລະ $password ຍັງບໍ່ໄດ້ສະຫນອງ, ຫຼັງຈາກນັ້ນ
ລະ​ຫັດ​ຜ່ານ​ແມ່ນ​ຮ້ອງ​ຂໍ​ແລະ​ການ​ເຊື່ອມ​ຕໍ່​ແມ່ນ​ໄດ້​ຮັບ​ການ​ສ້າງ​ຕັ້ງ​ຂຶ້ນ​. \ ເຊື່ອມຕໍ່ ຍອມຮັບດັ່ງຕໍ່ໄປນີ້
ພາລາມິເຕີ:

-c ໂດຍຄ່າເລີ່ມຕົ້ນ, the \ ເຊື່ອມຕໍ່ ຄໍາສັ່ງໃຊ້ເນື້ອໃນຂອງ $database ການກໍານົດ
ບໍລິບົດຖານຂໍ້ມູນທີ່ຄວນໃຊ້ໃນການສ້າງຕັ້ງການເຊື່ອມຕໍ່ (ນີ້ແມ່ນ
ໃຊ້ໂດຍ \ ເຊື່ອມຕໍ່ຄືນໃໝ່ ເພື່ອຮັກສາບໍລິບົດຖານຂໍ້ມູນປັດຈຸບັນເມື່ອເຊື່ອມຕໍ່ຄືນໃໝ່).
ໄດ້ -c ທຸງສະກັດກັ້ນພຶດຕິກໍານີ້ແລະສະພາບການຖານຂໍ້ມູນເລີ່ມຕົ້ນຂອງການເຂົ້າສູ່ລະບົບແມ່ນ
ໃຊ້ແທນ.

-D db
ສາເຫດ \ ເຊື່ອມຕໍ່ ເພື່ອພະຍາຍາມປ່ຽນບໍລິບົດຖານຂໍ້ມູນໂດຍອັດຕະໂນມັດເປັນ db
ຫຼັງ​ຈາກ​ການ​ສ້າງ​ຕັ້ງ​ການ​ເຊື່ອມ​ຕໍ່​.

ການນໍາໃຊ້ທຸງນີ້ແມ່ນຄືກັນກັບການຕັ້ງຄ່າ $database ການປ່ຽນແປງກ່ອນ
ການ​ສ້າງ​ຕັ້ງ​ການ​ເຊື່ອມ​ຕໍ່​.

-S srv
ຊື່ຂອງ Sybase ໄດ້ ເຄື່ອງແມ່ຂ່າຍ ເພື່ອເຊື່ອມຕໍ່, ນີ້ເປັນຄ່າເລີ່ມຕົ້ນ $DSQUERY ຖ້າ​ບໍ່
ສະຫນອງໃຫ້.

-U ຜູ້​ໃຊ້​
The Sybase ຜູ້ໃຊ້ ເພື່ອເຊື່ອມຕໍ່ກັບຖານຂໍ້ມູນເປັນ, ນີ້ເລີ່ມຕົ້ນທີ່ຈະ $ ຊື່ຜູ້ໃຊ້ ຕົວແປ
ຖ້າ​ຫາກ​ວ່າ​ບໍ່​ໄດ້​ສະ​ຫນອງ​ໃຫ້​.

-P ຜ່ານ
ໄດ້ ລະຫັດຜ່ານ ສໍາລັບການ ຜູ້ໃຊ້ ຕ້ອງການເພື່ອເຊື່ອມຕໍ່ກັບ ເຄື່ອງແມ່ຂ່າຍ. ນີ້ເປັນຄ່າເລີ່ມຕົ້ນທີ່ຈະ $password if
ບໍ່ໄດ້ສະຫນອງ.

-I file
ເສັ້ນທາງອັນເຕັມທີ່ຂອງ Sybase ທາງເລືອກ ອິນເຕີເຟດ ໄຟລ​໌​ທີ່​ຈະ​ນໍາ​ໃຊ້​.

-K keytab_file
ໃຊ້ສໍາລັບການກວດສອບຜູ້ໃຊ້ DCE.

-R principal_name
ໃຊ້ສໍາລັບການກວດສອບຜູ້ໃຊ້ Kerberos ເພື່ອລະບຸຊື່ຂອງເຄື່ອງແມ່ຂ່າຍຕົ້ນຕໍ
ໃນເວລາທີ່ຊື່ແຕກຕ່າງຈາກ $DSQUERY ມູນຄ່າ.

ເບິ່ງການສົນທະນາກ່ຽວກັບການສະຫນັບສະຫນູນ Kerberos.

-n ລະບຸວ່າການເຊື່ອມຕໍ່ຈະຕ້ອງໃຊ້ໂໝດລະບົບຕ່ອງໂສ້ທີ່ສອດຄ່ອງກັບ ANSI.

-N appname
ລະບຸຊື່ແອັບພລິເຄຊັນທີ່ເຄື່ອງແມ່ຂ່າຍຈະໃຊ້ສໍາລັບ program_name ໃນ
ຕາຕະລາງ sysprocesses.

-Q query_timeout
ກໍານົດໄລຍະເວລາການສອບຖາມເປັນວິນາທີ.

-T login_timeout
ລະບຸເວລາລໍຖ້າສູງສຸດສໍາລັບການຕັ້ງຄ່າເຊດຊັນ.

-V [bcdimoqru]
ບໍລິການຄວາມປອດໄພທີ່ໃຊ້ສໍາລັບການສະຫນັບສະຫນູນ Kerberos ແລະກົນໄກຄວາມປອດໄພອື່ນໆ.

-Z [secmech|ຄ່າເລີ່ມຕົ້ນ|ບໍ່ມີ]
ລະບຸກົນໄກຄວາມປອດໄພທີ່ຈະໃຊ້ສໍາລັບການພິສູດຢືນຢັນຜູ້ໃຊ້. ຍົກ​ຕົວ​ຢ່າງ
csfkrb5 ສໍາລັບການສະຫນັບສະຫນູນ Kerberos.

\reconnect [-c] [-D db] [-S srv] [-U user] [-P pass] [-I ifile] [-K keytab] [-R
server_principal] [-n] [-N appname] [-Q query_timeout] [-T login_timeout] [-V [bcdimoqru]]
[-Z [secmech|default|noe]]
ໄດ້ \ ເຊື່ອມຕໍ່ຄືນໃໝ່ ຄໍາສັ່ງອາດຈະຖືກນໍາໃຊ້ເພື່ອບັງຄັບການເຊື່ອມຕໍ່ກັບຖານຂໍ້ມູນໂດຍໃຊ້ໃຫມ່
ຊື່ຜູ້ໃຊ້, ຊື່ເຊີບເວີ, ຫຼືລະຫັດຜ່ານ (ຖ້າຕ້ອງການ). ຖ້າຄໍາສັ່ງນີ້ລົ້ມເຫລວ, ປະຈຸບັນ
ການເຊື່ອມຕໍ່ຍັງຄົງຢູ່ (ຖ້າມີ), ຢ່າງໃດກໍຕາມ, ຖ້າມັນປະສົບຜົນສໍາເລັດ, ປະຈຸບັນ
ການ​ເຊື່ອມ​ຕໍ່​ໄດ້​ຖືກ​ປິດ​ແລະ​ການ​ເຊື່ອມ​ຕໍ່​ໃຫມ່​ກາຍ​ເປັນ​ການ​ເຄື່ອນ​ໄຫວ​ດຽວ​.

ການໂຕ້ຖຽງທັງຫມົດທີ່ຍອມຮັບໂດຍ \ ເຊື່ອມຕໍ່ ຍັງໄດ້ຮັບການຍອມຮັບໂດຍ \ ເຊື່ອມຕໍ່ຄືນໃໝ່ (ໃນ​ຄວາມ​ເປັນ​ຈິງ
\ ເຊື່ອມຕໍ່ຄືນໃໝ່ ການນໍາໃຊ້ \ ເຊື່ອມຕໍ່ ການ​ສ້າງ​ຕັ້ງ​ການ​ເຊື່ອມ​ຕໍ່​ໃຫມ່​)​.

\snace
ຈະສະແດງຊ່ວງເວລາໝົດອາຍຸຂອງເຊດຊັນສຳລັບເຊດຊັນທີ່ຢືນຢັນເຄືອຂ່າຍ, ໂດຍໃຊ້
ຕົວຢ່າງ, ປີ້ Kerberos.

\go [ຕົວເລືອກ] [xacts]
ສົ່ງເນື້ອໃນຂອງ ການເຮັດວຽກ Buffer ກັບຖານຂໍ້ມູນ, ການສ້າງການເຊື່ອມຕໍ່ໃຫມ່
ໄປຫາຖານຂໍ້ມູນຖ້າອັນໃດບໍ່ມີຢູ່ແລ້ວ (ໂດຍການໂທຫາ \ ເຊື່ອມຕໍ່ ຂ້າງເທິງ). ມັນເຂົາເຈົ້າ
ສະແດງຜົນໄດ້ຮັບຂອງການສອບຖາມກັບຄືນໄປບ່ອນ stdout ແລະກັບຄືນ, ເຊິ່ງກໍ່ໃຫ້ເກີດ ການເຮັດວຽກ Buffer
ໄດ້ຮັບການເກັບກູ້ແລະຍ້າຍໄປໃນຕອນທ້າຍຂອງການ ປະ​ຫວັດ​ສາດ Buffer.

ຖ້າ ການເຮັດວຽກ Buffer ແມ່ນຫວ່າງເປົ່າແລະ $repeat_batch ຕົວແປຖືກຕັ້ງເປັນ "ເປີດ", \ ໄປ ຈະ
ພະຍາຍາມດໍາເນີນການຄໍາສັ່ງສຸດທ້າຍທີ່ຖືກປະຕິບັດຄືນໃຫມ່ (ນີ້ຈະເຮັດວຽກພຽງແຕ່ໃນໂຫມດໂຕ້ຕອບ
ຖ້າ​ຫາກ​ວ່າ​ການ​ສະ​ຫນັບ​ສະ​ຫນູນ​ປະ​ຫວັດ​ສາດ​ແມ່ນ​ເປີດ​ໃຊ້​ໄດ້​)​.

\ ໄປ ຍອມຮັບການໂຕ້ຖຽງຕໍ່ໄປນີ້:

-d ຈໍສະແດງຜົນ
ຖ້າການສະຫນັບສະຫນູນ X11 ຖືກລວບລວມເຂົ້າໄປໃນ sqsh, ແລະຮູບແບບການສະແດງ X ແມ່ນຖືກນໍາໃຊ້ (ເບິ່ງ -x,
ຂ້າງລຸ່ມນີ້), ຫຼັງຈາກນັ້ນ ການສະແດງ ຈະຖືກນໍາໃຊ້ເປັນພື້ນທີ່ສະແດງ X ສໍາລັບຊຸດຜົນໄດ້ຮັບ. ໂດຍ
ເປັນຄ່າເລີ່ມຕົ້ນຂອງຕົວແປສະພາບແວດລ້ອມ $DISPLAY ແມ່ນສົມມຸດ.

-f ປິດການສະແດງຂໍ້ຄວາມສ່ວນທ້າຍ "(%d ແຖວໄດ້ຮັບຜົນກະທົບ)". ຂໍ້ຄວາມສ່ວນທ້າຍ
ຍັງອາດຈະຖືກປິດໂດຍຜ່ານ $footers ຕົວແປ.

-h ປິດຫົວຖັນທັງໝົດ. ສິ່ງເຫຼົ່ານີ້ອາດຈະຖືກປິດຜ່ານທາງ $headers
ຕົວແປ.

-m ແບບ
ປ່ຽນຮູບແບບການສະແດງເປັນຊົ່ວຄາວ ແບບ ສໍາລັບໄລຍະເວລາຂອງຄໍາສັ່ງ.
ຮູບແບບທີ່ຮອງຮັບໃນປະຈຸບັນແມ່ນ ຂອບຟ້າ (ຫຼື ດູຖູກ or ອອກຕາມລວງນອນ), ສີຂຽວ (ຫຼື ຕັ້ງ),
bcp, csv, html, meta, pretty ແລະ none. ຮູບແບບການສະແດງອາດຈະຖືກຕັ້ງຖາວອນ
ຜ່ານ $style ຕົວແປຫຼື -m ທຸງເສັ້ນຄໍາສັ່ງ.

-n ປິດການຂະຫຍາຍຕົວແປໃນ ການເຮັດວຽກ Buffer ກ່ອນທີ່ຈະສົ່ງມັນໄປຫາເຄື່ອງແມ່ຂ່າຍ,
ອັນນີ້ອາດຈະຖືກປິດຜ່ານທາງ $expand ຕົວແປ.

-p ເປີດຜົນຜະລິດສະຖິຕິການປະຕິບັດເມື່ອຜົນໄດ້ຮັບທີ່ກໍານົດໄວ້
ກັບຄືນມາຈາກເຊີບເວີຢ່າງສໍາເລັດຜົນ. ອັນນີ້ອາດຈະຖືກເປີດຜ່ານທາງ -p
ການໂຕ້ຖຽງແຖວຄໍາສັ່ງໄປຫາ sqsh, ຫຼື $ ສະຖິຕິ ຕົວແປ.

-s ວິ
ຖ້າຫາກວ່າມູນຄ່າຂອງ xacts ແມ່ນຫຼາຍກ່ວາ 1, ນີ້ເຮັດໃຫ້ sqsh ນອນສໍາລັບ sec ວິນາທີ
ກ່ອນທີ່ຈະດໍາເນີນການທຸລະກໍາຕໍ່ໄປ. ໃຫ້ສັງເກດວ່າເວລານອນແມ່ນ
ບໍ່ລວມເອົາຂໍ້ມູນສະຖິຕິທີ່ສະແດງດ້ວຍ -p ທຸງ.

-t [ການກັ່ນຕອງ]
ການກັ່ນຕອງຊຸດຄໍາສັ່ງໂດຍຜ່ານໂຄງການພາຍນອກ, ການກັ່ນຕອງ, ແລະກ່ອນທີ່ຈະເປັນ
ຖືກສົ່ງໄປຫາ SQL Server. ຖ້າ ການກັ່ນຕອງ ບໍ່ໄດ້ສະຫນອງ, ຫຼັງຈາກນັ້ນ $filter_prog ຖືກນໍາໃຊ້
(ຄ່າເລີ່ມຕົ້ນແມ່ນ 'm4 -'). ຄ່ານີ້ອາດຈະຖືກຕັ້ງຜ່ານ $filter ແລະ $filter_prog
ຕົວແປ

-w width
overrides ຄ່າຂອງ $width ສໍາລັບຊີວິດຂອງການສອບຖາມ (ເບິ່ງ $width ດ້ານລຸ່ມ).

-x [xgeom]
ເປີດການກັ່ນຕອງການສະແດງ X11 (ພຽງແຕ່ຖ້າການສະຫນັບສະຫນູນ X11 ຖືກລວບລວມເຂົ້າໄປໃນ sqsh), ເຊິ່ງ
ເຮັດໃຫ້ຜົນໄດ້ຮັບທີ່ກໍານົດໄວ້ຖືກສົ່ງໄປຫາປ່ອງຢ້ຽມແຍກຕ່າງຫາກ. ຖ້າ xgeom ແມ່ນສະຫນອງໃຫ້, ຫຼັງຈາກນັ້ນ
ຄ່ານີ້ຈະຖືກໃຊ້ເປັນ $xgeom ສໍາລັບຊີວິດຂອງການສອບຖາມ (ເບິ່ງ $xgeom ດ້ານລຸ່ມ).

-T xwin_title
ລະບຸຊື່ຫົວຂໍ້ຂອງໜ້າຕ່າງຜົນ X ເພື່ອສ້າງ. ນີ້ຈະເປັນການຊົ່ວຄາວ
override ມູນຄ່າຂອງ $xwin_title. ພຽງແຕ່ເປັນປະໂຫຍດທີ່ຈະລະບຸ -T ສົມທົບກັບ
-x.

xacts
ລະບຸຈໍານວນເວລາຂອງເນື້ອໃນຂອງ ການເຮັດວຽກ Buffer ຄວນຈະຖືກປະຕິບັດ.
ໃຫ້ສັງເກດວ່າ, ຄ້າຍຄືກັນກັບ isql, ຊຸດຜົນໄດ້ຮັບຈະສະແດງພຽງແຕ່ໃນໄລຍະສຸດທ້າຍ
ການ​ປະ​ຕິ​ບັດ​ຂອງ batch ໄດ້​. ນອກຈາກນີ້, ເນື້ອໃນຂອງ ການເຮັດວຽກ Buffer ມີການຂະຫຍາຍພຽງແຕ່
ຫນຶ່ງຄັ້ງ, ກ່ອນທີ່ຈະປະຕິບັດຄັ້ງທໍາອິດ, ດັ່ງນັ້ນເນື້ອໃນຂອງ buffer ຈະບໍ່ປ່ຽນແປງ
ລະຫວ່າງ​ການ​ປະ​ຕິ​ບັດ​ຕໍ່​ໄປ.

\bcp [bcp_options] ຕາຕະລາງ
ໄດ້ \bcp ຄໍາສັ່ງເຮັດຫນ້າທີ່ເປັນປະເພດຂອງການປັບປຸງ \ ໄປ ຄໍາສັ່ງທີ່ປ່ຽນເສັ້ນທາງຜົນໄດ້ຮັບ
set(s) ຂອງ batch ກັບເຄື່ອງແມ່ຂ່າຍອື່ນໂດຍຜ່ານ bcp protocol. ໃນຂະນະທີ່ມັນເປັນໄປໄດ້
\bcp ຜົນໄດ້ຮັບທີ່ກໍານົດໄວ້ກັບຄືນໄປບ່ອນເຄື່ອງແມ່ຂ່າຍປະຈຸບັນ (the $DSQUERY variable), ນີ້ແມ່ນ
ບັນລຸໄດ້ງ່າຍຂຶ້ນໂດຍຜ່ານ SELECT INTO.

ລາຍລະອຽດ nitty-gritty ຂອງ \bcp ໄປເຊັ່ນນີ້: ທໍາອິດ SQL batch ໃນປັດຈຸບັນແມ່ນຂະຫຍາຍ
(ເວັ້ນເສຍແຕ່ວ່າ $expand ຕົວແປແມ່ນຕັ້ງເປັນ 0) ແລະສົ່ງໄປຖານຂໍ້ມູນສໍາລັບ
ການປຸງແຕ່ງ. ຖ້າທັງຫມົດດີ, ການເຊື່ອມຕໍ່ໃຫມ່ກໍ່ຖືກສ້າງຕັ້ງຂຶ້ນກັບປາຍທາງ
ຖານຂໍ້ມູນ (ຕາມທີ່ລະບຸຜ່ານ $DSQUERY ຫຼື -S flag) ເພື່ອໂອນຜົນໄດ້ຮັບທີ່ກໍານົດໄວ້ໂດຍໃຊ້
bcp. ຫຼັງຈາກນັ້ນ, ຜົນຜະລິດຂອງການເຊື່ອມຕໍ່ຖານຂໍ້ມູນຕົ້ນສະບັບຖືກຜູກມັດກັບ bcp ໃຫມ່
ການ​ເຊື່ອມ​ຕໍ່​ແລະ​ການ​ໂອນ​ຂໍ້​ມູນ​ແມ່ນ​ປະ​ຕິ​ບັດ​. \bcp ສາມາດຈັດການຫຼາຍຊຸດຜົນໄດ້ຮັບ
ໂດຍ​ບໍ່​ມີ​ບັນ​ຫາ​ໃດ​ຫນຶ່ງ (ລວມ​ທັງ​ຊຸດ​ຜົນ​ໄດ້​ຮັບ​ກັບ​ຄືນ​ມາ​ຈາກ​ຂັ້ນ​ຕອນ​ການ​ເກັບ​ຮັກ​ສາ​ໄວ້​, ແລະ​ອື່ນໆ​)
ສະຫນອງໃຫ້ວ່າທັງຫມົດຂອງຊຸດຜົນໄດ້ຮັບແມ່ນຖືກຕ້ອງສໍາລັບຕາຕະລາງປາຍທາງ.

ການທຽບເທົ່າ "bcp out" ອາດຈະຖືກປະຕິບັດໂດຍໃຊ້ bcp ສະ​ແດງ​ການ​ຕັ້ງ​ຄ່າ​ຮູບ​ແບບ​ແລະ​
ການປ່ຽນເສັ້ນທາງໄຟລ໌ (ເບິ່ງ $style ຕົວແປ).

- ຊອງ
ລະບຸຂະໜາດແພັກເກັດ TDS ທີ່ໃຊ້ເພື່ອຕິດຕໍ່ສື່ສານກັບເຊີບເວີປາຍທາງ. ຖ້າ
ບໍ່​ໄດ້​ສະ​ຫນອງ​ຄ່າ​ເລີ່ມ​ຕົ້ນ​ນີ້​ກັບ​ຄ່າ​ທີ່​ໄດ້​ $packet_size ຕົວແປ, ຫຼື (ຖ້ານັ້ນແມ່ນ
ບໍ່ໄດ້ຕັ້ງ), ຂະຫນາດແພັກເກັດເຊີຟເວີເລີ່ມຕົ້ນ (ປົກກະຕິແລ້ວ 512 bytes).

-b batch_size
ຈໍາ​ນວນ​ຂອງ​ການ​ບັນ​ທຶກ​ການ​ຍົກ​ຍ້າຍ​ໃນ​ການ​ດຽວ​ກັນ​ລະ​ຫວ່າງ​ເຄື່ອງ​ແມ່​ຂ່າຍ​. ຫມາຍ​ເຫດ​
ວ່າເຖິງຈຸດສິ້ນສຸດຂອງຜົນໄດ້ຮັບເຮັດໃຫ້ batch ໄດ້ຖືກຍົກຍ້າຍ, ໂດຍບໍ່ສົນເລື່ອງ
ຂອງມູນຄ່າຂອງ batch_size. ຄ່າເລີ່ມຕົ້ນແມ່ນຊຸດຜົນໄດ້ຮັບທັງໝົດ.

-I file
ເສັ້ນທາງອັນເຕັມທີ່ຂອງ Sybase ທາງເລືອກ ອິນເຕີເຟດ ໄຟລ​໌​ທີ່​ຈະ​ນໍາ​ໃຊ້​.

-J ຕົວອັກສອນ
ລະບຸຄ່າເລີ່ມຕົ້ນ ສາຍໄຟ ໃຊ້ເພື່ອຕິດຕໍ່ສື່ສານກັບ SQL Server. ນີ້
ຄ່າເລີ່ມຕົ້ນຂອງຊຸດຕົວອັກສອນປະຈຸບັນ (ຄ່າຂອງ $charset ຕົວແປ).

-m maxerr
ຈໍານວນສູງສຸດຂອງຊຸດທີ່ອາດຈະລົ້ມເຫລວກ່ອນ \bcp ໃຫ້ເຖິງ ghost ໄດ້
(ຄ່າເລີ່ມຕົ້ນແມ່ນ 10). ໃຫ້ສັງເກດວ່ານີ້ພຽງແຕ່ຫມາຍເຖິງຄວາມລົ້ມເຫລວພາຍໃນ batch ທີ່ກໍານົດໄວ້.
ເມື່ອປະຕິບັດ bcp ຂອງຊຸດຜົນໄດ້ຮັບຫຼາຍໄປຫາເຄື່ອງແມ່ຂ່າຍ, ຖ້າຊຸດຜົນໄດ້ຮັບທີ່ໃຫ້
ມີ, ເວົ້າວ່າ, ຖັນຫຼາຍເກີນໄປຫຼືປະເພດຂໍ້ມູນທີ່ບໍ່ດີ, ຫຼັງຈາກນັ້ນຂະບວນການ bcp ທັງຫມົດແມ່ນ
ເອົາລູກອອກໂດຍບໍ່ຄໍານຶງເຖິງມູນຄ່າຂອງ maxerr.

-N ຊີ້ບອກວ່າຄ່າຂອງຖັນຕົວຕົນໃນຕາຕະລາງປາຍທາງແມ່ນເປັນ
ສະຫນອງໃຫ້ພາຍໃນຊຸດຜົນໄດ້ຮັບ.

-P ລະ​ຫັດ​ຜ່ານ​
ໄດ້ ລະຫັດຜ່ານ ສໍາລັບການ ຜູ້ໃຊ້ ຕ້ອງການເພື່ອເຊື່ອມຕໍ່ກັບ ເຄື່ອງແມ່ຂ່າຍ. ນີ້ເປັນຄ່າເລີ່ມຕົ້ນທີ່ຈະ $password if
ບໍ່ໄດ້ສະຫນອງ.

-S ເຊີບເວີ
ຊື່ຂອງ Sybase ໄດ້ ເຄື່ອງແມ່ຂ່າຍ ເພື່ອເຊື່ອມຕໍ່, ນີ້ເປັນຄ່າເລີ່ມຕົ້ນ $DSQUERY ຖ້າ​ບໍ່
ສະຫນອງໃຫ້.

-U ຜູ້​ໃຊ້​
The Sybase ຜູ້ໃຊ້ ເພື່ອເຊື່ອມຕໍ່ກັບຖານຂໍ້ມູນເປັນ, ນີ້ເລີ່ມຕົ້ນທີ່ຈະ $ ຊື່ຜູ້ໃຊ້ ຕົວແປ
ຖ້າ​ຫາກ​ວ່າ​ບໍ່​ໄດ້​ສະ​ຫນອງ​ໃຫ້​.

-X ເຮັດໃຫ້ເກີດການເຈລະຈາລະຫັດຜ່ານກັບເຄື່ອງແມ່ຂ່າຍປາຍທາງທີ່ຈະດໍາເນີນການໂດຍໃຊ້
ການເຂົ້າລະຫັດດ້ານລູກຄ້າ.

-z ພາສາ
ລະບຸການຕັ້ງຄ່າພາສາທີ່ຈະໃຊ້.

ຕາຕະລາງ
ເຊັ່ນດຽວກັນກັບປົກກະຕິ bcp, ຕາຕະລາງ ອາດຈະເປັນຊື່ຕາຕະລາງທີ່ລະບຸໄວ້ຢ່າງເຕັມທີ່ຫຼືບາງສ່ວນ
ໃນເຄື່ອງແມ່ຂ່າຍປາຍທາງ. ໃຫ້ສັງເກດວ່ານັບຕັ້ງແຕ່ການເຊື່ອມຕໍ່ຖານຂໍ້ມູນໃຫມ່ແມ່ນ
ສ້າງຕັ້ງຂຶ້ນໃນລະຫວ່າງການຂະບວນການ bcp ທີ່ສະພາບການຖານຂໍ້ມູນຂອງການເຊື່ອມຕໍ່
ອາດຈະບໍ່ຄືກັນກັບສະພາບການໃນປະຈຸບັນ, ສະນັ້ນມັນມັກຈະປອດໄພທີ່ສຸດທີ່ຈະຢ່າງເຕັມສ່ວນ
ລະບຸຊື່ຕາຕະລາງໃນແບບຟອມ database.owner.table.

\rpc [rpc_opt] rpc_name [[parm_opt] [@var=]ຄ່າ ...]
ໄດ້ \rpc ຄໍາສັ່ງຖືກນໍາໃຊ້ເພື່ອຮຽກຮ້ອງໂດຍກົງກັບຂະບວນການທີ່ເກັບໄວ້ໃນການເຊື່ອມຕໍ່
ເຊີບເວີ. ຄໍາສັ່ງນີ້ແມ່ນເປັນປະໂຫຍດໂດຍສະເພາະສໍາລັບການຕິດຕໍ່ສື່ສານກັບເຄື່ອງແມ່ຂ່າຍເປີດທີ່
ບໍ່ຮອງຮັບການໂທຫາພາສາໂດຍກົງ.

\rpc ຮຽກຮ້ອງຂັ້ນຕອນໄລຍະໄກ rpc_name ກັບຫນຶ່ງຫຼືຫຼາຍຕົວກໍານົດການທີ່ອາດຈະເປັນ
ຊື່ (ໃຊ້ @var) ຫຼືບໍ່ເປີດເຜີຍຊື່ (ໂດຍບໍ່ລະບຸຊື່). ແຕ່ຫນ້າເສຍດາຍ, ເນື່ອງຈາກ
ຄວາມຈິງທີ່ວ່າການປະຕິບັດຂອງ Sybase ຂອງ RPC, ບໍ່ໄດ້ສະຫນັບສະຫນູນໂດຍກົງທີ່ສຸດ implicit
ການ​ປ່ຽນ​ແປງ​ປະ​ເພດ​ຂໍ້​ມູນ (ສ່ວນ​ໃຫຍ່​ແມ່ນ​ລະ​ຫວ່າງ VARCHAR (ສະ​ຕ​ຣິງ​ທີ່​ທ່ານ​ສະ​ຫນອງ​ໃຫ້​ໃນ​ຄໍາ​ສັ່ງ​
line) ແລະປະເພດຂໍ້ມູນອື່ນໆຫຼາຍທີ່ສຸດ (ທີ່ຂັ້ນຕອນການຫ່າງໄກສອກຫຼີກຄາດວ່າຈະ), the
syntax ສໍາລັບ \rpc ຄໍາສັ່ງແມ່ນຂ້ອນຂ້າງສັບສົນ. ຢ່າງໃດກໍຕາມ, ໃນສັ້ນນີ້ແມ່ນວິທີການ
ເຮັດວຽກ:

ໃນຖານະເປັນ \rpc ເສັ້ນຄໍາສັ່ງກໍາລັງຖືກວິເຄາະ, sqsh ພະຍາຍາມເດົາປະເພດຂອງຂໍ້ມູນຂອງ
ພາລາມິເຕີ ມູນຄ່າ ອີງຕາມຮູບແບບ (ຕົວຢ່າງຖ້າມັນມີພຽງແຕ່ຕົວເລກ, ມັນແມ່ນ
ຖືວ່າເປັນຈຳນວນເຕັມ), sqsh ຫຼັງ​ຈາກ​ນັ້ນ​ປະ​ຕິ​ບັດ​ການ​ປ່ຽນ​ແປງ​ປະ​ເພດ​ຂໍ້​ມູນ​ທີ່​ຊັດ​ເຈນ​ກ່ອນ​
ເພື່ອໂທຫາຂັ້ນຕອນການໂທຫາໄລຍະໄກ. ຖ້າ sqsh ເດົາຜິດ, ທຸງຫຼາຍອັນ
ສະຫນອງໃຫ້ເພື່ອບັງຄັບໃຫ້ມັນປະຕິບັດການແປງປະເພດຂໍ້ມູນທີ່ຖືກຕ້ອງ (ເບິ່ງ parm_opt).

ການສະແດງ ທາງເລືອກໃນການ

ຕົວເລືອກຕໍ່ໄປນີ້ອາດຈະຖືກສະຫນອງຢູ່ບ່ອນໃດກໍ່ຕາມໃນເສັ້ນຄໍາສັ່ງແລະຖືກນໍາໃຊ້ເພື່ອຜົນກະທົບຕໍ່
ລັກສະນະທີ່ກໍານົດຜົນໄດ້ຮັບກັບຄືນມາຈາກການໂທຫາຂັ້ນຕອນທາງໄກແມ່ນ
ສະແດງ:

-d ຈໍສະແດງຜົນ
ຖ້າການສະຫນັບສະຫນູນ X ຖືກລວບລວມເຂົ້າໄປໃນ sqsh, ມູນຄ່າຂອງ ການສະແດງ ຖືກນໍາໃຊ້ເປັນປ່ອງຢ້ຽມ X
ຕົວແປ DISPLAY. ຫມາຍເຫດ, ນີ້ປົກກະຕິແລ້ວແມ່ນສະຫນອງໃຫ້ກັບ -x ທຸງ, ຂ້າງລຸ່ມນີ້.

-f ປິດການສະແດງຂໍ້ຄວາມສ່ວນທ້າຍ "(%d ແຖວໄດ້ຮັບຜົນກະທົບ)". ຂໍ້ຄວາມສ່ວນທ້າຍອາດຈະ
ຍັງຖືກປິດໂດຍຜ່ານ $footers ຕົວແປ.

-h ປິດຫົວຖັນທັງໝົດ. ສິ່ງເຫຼົ່ານີ້ອາດຈະຖືກປິດຜ່ານທາງ $headers ຕົວແປ.

-m ແບບ
ປ່ຽນຮູບແບບການສະແດງເປັນຊົ່ວຄາວ ແບບ ສໍາລັບໄລຍະເວລາຂອງຄໍາສັ່ງ.
ຮູບແບບທີ່ຮອງຮັບໃນປະຈຸບັນແມ່ນ ຂອບຟ້າ (ຫຼື ດູຖູກ or ອອກຕາມລວງນອນ), ສີຂຽວ (ຫຼື ຕັ້ງ), bcp,
csv, html, meta, pretty ແລະ none. ຮູບແບບການສະແດງອາດຈະຖືກຕັ້ງຖາວອນຜ່ານທາງ
$style ຕົວແປຫຼື -m ທຸງເສັ້ນຄໍາສັ່ງ.

-r ຮ້ອງຂໍການລວບລວມຂັ້ນຕອນກ່ອນການປະຕິບັດ.

-w width
ຊົ່ວຄາວກໍານົດຄວາມກວ້າງຂອງຜົນຜະລິດເປັນ width. ຄວາມກວ້າງຂອງຜົນຜະລິດອາດຈະຖືກຕັ້ງຖາວອນ
ຜ່ານ $width ຕົວແປ.

-x [xgeom]
ສົ່ງຜົນຜະລິດໄປຫາປ່ອງຢ້ຽມ X ແຍກຕ່າງຫາກ. ຖ້າ xgeom ໄດ້ຖືກສະຫນອງ, ຫຼັງຈາກນັ້ນປ່ອງຢ້ຽມ X ໃຊ້ນີ້
ເລຂາຄະນິດ (ເບິ່ງ $xgeom ສໍາລັບລາຍລະອຽດ).

-T xwin_title
ລະບຸຊື່ຫົວຂໍ້ຂອງໜ້າຕ່າງຜົນ X ເພື່ອສ້າງ. ນີ້ຈະເປັນການຊົ່ວຄາວ
override ມູນຄ່າຂອງ $xwin_title. ພຽງແຕ່ເປັນປະໂຫຍດທີ່ຈະລະບຸ -T ສົມທົບກັບ -x.

ພາລາມິເຕີ ທາງເລືອກໃນການ

ຕົວເລືອກຕໍ່ໄປນີ້ອາດຈະຖືກສະໜອງໃຫ້ທັນທີກ່ອນທີ່ຈະກໍານົດພາລາມິເຕີ ມູນຄ່າ
ແລະຖືກນໍາໃຊ້ເພື່ອຜົນກະທົບຕໍ່ວິທີການ sqsh ຕີ​ລາ​ຄາ​ເນື້ອ​ໃນ​ຂອງ​ ມູນຄ່າ ກ່ອນທີ່ຈະ
ໂທຫາຂັ້ນຕອນໄລຍະໄກ. ເຖິງແມ່ນວ່າ sqsh ຈະອະນຸຍາດໃຫ້ປະສົມປະສານຂອງຕົວກໍານົດການເຫຼົ່ານີ້
ສົມທົບ, ມັນພຽງແຕ່ເຮັດໃຫ້ຄວາມຮູ້ສຶກທີ່ຈະສົມທົບການ -x ທຸງກັບທຸງອື່ນໆ.

-b ຊີ້ໃຫ້ເຫັນວ່າ ມູນຄ່າ ທີ່ລະບຸໄວ້ຄວນຈະຖືກປ່ຽນເປັນ VARBINARY ກ່ອນ
ໂທຫາ rpc_name. ທຸງນີ້ແມ່ນ implicit (ie ທ່ານບໍ່ຈໍາເປັນຕ້ອງສະຫນອງມັນ) ຖ້າ ມູນຄ່າ ເລີ້ມຕົ້ນ
ດ້ວຍ "0x" ແລະມີພຽງແຕ່ຕົວເລກເທົ່ານັ້ນ.

-c ຊີ້ໃຫ້ເຫັນວ່າ ມູນຄ່າ ທີ່ລະບຸໄວ້ຄວນຈະຖືກປ່ຽນເປັນ VARCHAR ກ່ອນ
ໂທຫາ rpc_name. ທຸງນີ້ແມ່ນ implicit ຖ້າ ມູນຄ່າ ບໍ່ກົງກັບ implicit ໃດ
ແປງສໍາລັບປະເພດຂໍ້ມູນອື່ນໆ.

-d ຊີ້ໃຫ້ເຫັນວ່າ ມູນຄ່າ ທີ່ລະບຸໄວ້ຄວນຈະຖືກປ່ຽນເປັນ double (float)
ກ່ອນທີ່ຈະໂທຫາ rpc_name. ທຸງນີ້ແມ່ນ implicit ຖ້າ ມູນຄ່າ ຢູ່ໃນຈຸດລອຍທີ່ຖືກຕ້ອງ
notation (ເຊັ່ນ: 0.1, .1, 1.4e10, ຫຼື 4e10).

-i ຊີ້ບອກວ່າ ມູນຄ່າ ທີ່ລະບຸໄວ້ຄວນຈະຖືກປ່ຽນເປັນຈໍານວນເຕັມ (int) ກ່ອນ
ໂທຫາ rpc_name. ທຸງນີ້ແມ່ນ implicit ຖ້າ ມູນຄ່າ ມີພຽງແຕ່ຕົວເລກ (ແລະ,
ທາງເລືອກ, ເຄື່ອງຫມາຍຊັ້ນນໍາ).

-y ຊີ້ໃຫ້ເຫັນວ່າ ມູນຄ່າ ທີ່ລະບຸໄວ້ຄວນຈະຖືກປ່ຽນເປັນເງິນກ່ອນທີ່ຈະໂທຫາ
rpc_name. ທຸງນີ້ແມ່ນ implicit ຖ້າ ມູນຄ່າ ເລີ່ມຕົ້ນດ້ວຍ "$", ແລະມີພຽງແຕ່ຕົວເລກເທົ່ານັ້ນ
ແລະ, ທາງເລືອກ, ເປັນທົດສະນິຍົມ.

-n ຊີ້ໃຫ້ເຫັນວ່າ ມູນຄ່າ ທີ່ລະບຸໄວ້ຄວນຈະຖືກປ່ຽນເປັນຕົວເລກກ່ອນ
ໂທຫາ rpc_name. ທຸງນີ້ແມ່ນບໍ່ເຄີຍ implicit, ເປັນ ມູນຄ່າ ສະເຫມີຈະກົງກັບ int
(-i) ຫຼື​ເລື່ອນ (-d); ແນວໃດກໍ່ຕາມ, ທັງສອງປະເພດນີ້ຈະຖືກປ່ຽນເປັນ A
ຕົວເລກຕາມຄວາມຈໍາເປັນໂດຍການໂທຫາຂັ້ນຕອນ.

-u ຊີ້​ບອກ​ວ່າ​ ມູນຄ່າ ຄວນຖືກລະເລີຍ ແລະຖືວ່າເປັນຄ່າ NULL, ທຸງນີ້ແມ່ນ
implicit ຖ້າ ມູນຄ່າ ແມ່ນ "".

Buffers
ຄໍາສັ່ງຕໍ່ໄປນີ້ອາດຈະຖືກນໍາໃຊ້ເພື່ອສ້າງ, ທໍາລາຍ, ຫຼື manipulate buffers ຕ່າງໆ
ອະທິບາຍໃນ ບັກ ພາກ​ສ່ວນ​, ຂ້າງ​ເທິງ​.

\ ຈະແຈ້ງ
ໄດ້ \ ຈະແຈ້ງ ຄໍາສັ່ງຈະຍົກເລີກ buffer ໃນປັດຈຸບັນແລະກົງກັນຂ້າມກັບ
\ ຣີເຊັດ ຄໍາສັ່ງ, ຈະບໍ່ບັນທຶກ buffer ໃນປັດຈຸບັນກັບປະຫວັດສາດ. ເມື່ອ sqsh ຖືກລວບລວມ
ດ້ວຍ​ການ​ສະ​ຫນັບ​ສະ​ຫນູນ readline​, ຄໍາ​ສັ່ງ​ນີ້​ຍັງ​ຈະ​ລົບ​ຫນ້າ​ຈໍ​. (ເປັນ ^l ເຮັດ.) ໄດ້
alias ແຈ້ງ ຖືກສ້າງຕັ້ງຂຶ້ນໂດຍອັດຕະໂນມັດເມື່ອເລີ່ມຕົ້ນ.

\ ປະຫວັດ [-i] [-x ນັບ]
ສະແດງອັນສຸດທ້າຍ $histize batches ທີ່​ໄດ້​ຖືກ​ສົ່ງ​ໄປ​ຍັງ​ຖານ​ຂໍ້​ມູນ​ໂດຍ​ຜ່ານ​ການ​
\ ໄປ ຄໍາ​ສັ່ງ​ຫຼື​ລົບ​ລ້າງ​ຈາກ​ ການເຮັດວຽກ Buffer ຜ່ານ \ ຣີເຊັດ ຄໍາສັ່ງ. ມີທາງເລືອກ -i
ຍັງສະແດງຈໍານວນເວລາທີ່ buffer ຖືກນໍາໃຊ້ແລະເວລາສຸດທ້າຍຂອງ buffer
ໃຊ້. ຂໍ້ມູນນີ້ອາດຈະມີຄວາມສົນໃຈເປັນພິເສດໃນເວລານໍາໃຊ້ $histunique ຄຸນນະສົມບັດ.
ໄດ້ -x ທາງເລືອກອາດຈະລະບຸຈໍານວນລາຍການປະຫວັດສາດຫຼ້າສຸດທີ່ຈະສະແດງແທນ
ຂອງບັນຊີລາຍຊື່ປະຫວັດສາດທັງຫມົດ.

\hist-load [ຊື່ໄຟລ໌]
ໂຫຼດໄຟລ໌ປະຫວັດ ແລະຕື່ມລາຍການໃສ່ໃນລາຍການປະຫວັດປັດຈຸບັນ. ໃຊ້ $ປະຫວັດສາດ ຖ້າບໍ່ມີ
ຊື່ໄຟລ໌ຖືກລະບຸເປັນພາລາມິເຕີ.

\hist-save [ຊື່ໄຟລ໌]
ຈະບັນທຶກ buffers ປະວັດສາດປະຈຸບັນໄປໃສ່ $ປະຫວັດສາດ ໄຟລ໌ຫຼືຊື່ໄຟລ໌
ກໍານົດເປັນພາລາມິເຕີ.

\ ແຕ້ມໃໝ່
ສົ່ງຄືນຄຳຮ້ອງຂໍກັບຄືນໄປຫາການອ່ານ-ປະເມີນ-ພິມ loop ໃນປັດຈຸບັນເພື່ອໃຫ້ມັນສະແດງຄືນໃໝ່
ໃນປະຈຸບັນ ການເຮັດວຽກ Buffer. ຖ້າແລ່ນຈາກໂໝດບໍ່ໂຕ້ຕອບ, ຄຳສັ່ງນີ້ບໍ່ມີຜົນຫຍັງ.

\ ຣີເຊັດ
ໄດ້ \ ຣີເຊັດ ຄໍາສັ່ງກົງກັນໂດຍກົງກັບ isql 'reset' ຄໍາສັ່ງ, ສົ່ງຄືນ a
ຮ້ອງຂໍໃຫ້ loop read-eval-print ເພື່ອລ້າງເນື້ອໃນຂອງປະຈຸບັນ ການເຮັດວຽກ Buffer
ແລະ, ຖ້າທ່ານກໍາລັງແລ່ນຢູ່ໃນໂຫມດໂຕ້ຕອບ, ເອົາສໍາເນົາຂອງ buffer ເຂົ້າໄປໃນ
ປະ​ຫວັດ​ສາດ Buffer. ນາມແຝງ reset ຖືກສ້າງຕັ້ງຂຶ້ນໂດຍອັດຕະໂນມັດເມື່ອເລີ່ມຕົ້ນ sqsh ສໍາລັບການ
ກັບຄືນໄປບ່ອນເຂົ້າກັນໄດ້ກັບ isql.

\buf-append dst-buffer [src-buffer]
ຕື່ມໃສ່ເນື້ອໃນຂອງ src-buffer (ຄ່າເລີ່ມຕົ້ນເປັນ !.) ກັບເນື້ອໃນຂອງ dst-buffer, ຖ້າ
ມັນມີຢູ່. ຖ້າ dst-buffer ບໍ່ມີມັນຖືກສ້າງຂຶ້ນ.

\buf-copy dst-buffer [src-buffer]
ຄັດລອກເນື້ອໃນຂອງ src-buffer (ຄ່າເລີ່ມຕົ້ນເປັນ !., ການ ການເຮັດວຽກ Buffer, ຖ້າ​ຫາກ​ວ່າ​ບໍ່​ໄດ້​ສະ​ຫນອງ​ໃຫ້​)​,
to dst-buffer. ອ້າງ​ເຖິງ ບັກ ສໍາລັບຂໍ້ມູນກ່ຽວກັບສົນທິສັນຍາການຕັ້ງຊື່ buffer.

\buf-del [buffer|range]
ລົບ​ບັນ​ທຶກ​ປະ​ຫວັດ​ສາດ​ອອກ​ຈາກ​ບັນ​ຊີ​ລາຍ​ການ​ປະ​ຫວັດ​ສາດ​. ນອກນັ້ນທ່ານຍັງສາມາດກໍານົດບັນຊີລາຍຊື່ໄລຍະ
ປະ​ກອບ​ດ້ວຍ​ຕົວ​ເລກ buffer ທໍາ​ອິດ​ແລະ​ສຸດ​ທ້າຍ​ທີ່​ແຍກ​ອອກ​ເປັນ '-'. ຍົກ​ຕົວ​ຢ່າງ:
"\buf-del 1-10" ຈະລຶບປະຫວັດ 10 ລາຍການທຳອິດ. ຕົວຢ່າງອື່ນ, "\buf-del
21" ຈະລຶບພຽງແຕ່ເບີ 21. ຈື່ໄວ້ວ່າ buffers ປະຫວັດສາດຈະເປັນ
ປ່ຽນ​ເລກ​ໃໝ່​ຕິດ​ຕໍ່​ກັນ.

\buf-edit [-r read-buf] [-w write-buf]
ໄດ້ \buf-ແກ້ໄຂ ຄໍາສັ່ງຖືກນໍາໃຊ້ເພື່ອແກ້ໄຂເນື້ອໃນຂອງ buffer ແລະວາງການປ່ຽນແປງ
ເຂົ້າໄປໃນ buffer ອື່ນ. ຄຳສັ່ງນີ້ອາດຈະຖືກແລ່ນໃນຂະນະທີ່ຢູ່ໃນໂໝດໂຕ້ຕອບເທົ່ານັ້ນ. ຖ້າ ອ່ານ-
buff ບໍ່​ໄດ້​ສະ​ຫນອງ​ໃຫ້​ຫຼັງ​ຈາກ​ນັ້ນ buffer ທີ່​ຈະ​ໄດ້​ຮັບ​ການ​ແກ້​ໄຂ​ມາດ​ຕະ​ຖານ​ທີ່ !., ຖ້າ​ຫາກ​ວ່າ​ມັນ​ບໍ່​ແມ່ນ​ຫວ່າງ​ເປົ່າ​,
ຖ້າບໍ່ດັ່ງນັ້ນມັນເລີ່ມຕົ້ນທີ່ຈະ !!. ຖ້າ ຂຽນ-buf ບໍ່ໄດ້ຖືກສະໜອງໃຫ້ຫຼັງຈາກນັ້ນ buffer ທີ່ຖືກແກ້ໄຂແມ່ນ
ຂຽນຄືນ!..

ໂດຍຕົວຢ່າງ, \buf-ແກ້ໄຂ ໃຊ້ຕົວແປສະພາບແວດລ້ອມ $ EDITOR ທໍາອິດ, ຕິດຕາມດ້ວຍ $VISUAL
ເພື່ອກໍານົດຕົວແກ້ໄຂທີ່ຈະໃຊ້, ເລີ່ມຕົ້ນເປັນ 'vi' ຖ້າຕົວແປບໍ່ໄດ້ຕັ້ງ.

ມັນເປັນສິ່ງສໍາຄັນທີ່ຈະສັງເກດວ່າໃນການປ່ອຍ 1.2, \buf-ແກ້ໄຂ ບໍ່​ສາ​ມາດ​ນໍາ​ໃຊ້​
ຊື່ຂອງນາມແຝງກັບມັນເປັນຊື່ຂອງບັນນາທິການທີ່ຈະເປີດຕົວ. ນີ້ຕົ້ນຕໍແມ່ນເນື່ອງມາຈາກ
ການປ່ຽນແປງພຶດຕິກໍາຂອງນາມແຝງ (ເບິ່ງພາກ ນາມແຝງ, ຂ້າງລຸ່ມນີ້, ສໍາລັບລາຍລະອຽດ).

ຄຳ ສັ່ງ ດັດແກ້ vi ແລະ emacs ຖືກສ້າງຕັ້ງຂຶ້ນໂດຍອັດຕະໂນມັດເມື່ອເລີ່ມຕົ້ນ sqsh ສໍາລັບການ
ກັບຄືນໄປບ່ອນເຂົ້າກັນໄດ້ກັບ isql.

\buf-get buffer
ໄດ້ \buf-ຮັບ ຄໍາສັ່ງແມ່ນສະຫນອງໃຫ້ເປັນວິທີການ shorthand ຂອງການເຮັດວຽກ \buf-ສຳເນົາ ມັນແມ່ນ
ທຽບ​ເທົ່າ​ການ​ແລ່ນ​:

\buf_append !. ບັຟເຟີ

\buf-load [-a] ຊື່ໄຟລ໌ [dst-buffer]
ຄັດລອກເນື້ອໃນຂອງ ຊື່​ເອ​ກະ​ສານ in dst-buffer (ຄ່າເລີ່ມຕົ້ນເປັນ !.). ຖ້າ -a ທຸງແມ່ນ
ສະຫນອງ, ເນື້ອໃນຂອງ ຊື່​ເອ​ກະ​ສານ ຖືກຕໍ່ທ້າຍກັບ dst-buffer. ໃຫ້ສັງເກດວ່າມັນຜິດກົດຫມາຍ
ພະຍາຍາມຂຽນໃສ່ເນື້ອໃນຂອງ buffer ປະຫວັດສາດ.

\buf-save [-a] ຊື່ໄຟລ໌ [src-buffer]
ບັນທຶກເນື້ອໃນຂອງ src-buffer (ຄ່າເລີ່ມຕົ້ນເປັນ !.) to ຊື່​ເອ​ກະ​ສານທີ່ຢູ່ ຖ້າຫາກວ່າ -a ທຸງແມ່ນ
ເນື້ອໃນທີ່ໃຫ້ມາແມ່ນຖືກຄັດຕິດໃສ່ ຊື່​ເອ​ກະ​ສານ ແທນທີ່ຈະຂຽນທັບປັດຈຸບັນ
ເນື້ອໃນ.

\buf-show [buffer]
ສະແດງເນື້ອໃນຂອງຊື່ bufferທີ່ຢູ່ ຖ້າຫາກວ່າ buffer ບໍ່ໄດ້ສະຫນອງ, ຫຼັງຈາກນັ້ນ
ເນື້ອໃນຂອງ buffers ທີ່ມີຊື່ທັງຫມົດແມ່ນສະແດງ. ຄໍາສັ່ງນີ້ແມ່ນແຕກຕ່າງກັນເລັກນ້ອຍຈາກ
ຄໍາ​ສັ່ງ​ຂ້າງ​ເທິງ​ນັ້ນ​ມັນ​ເປັນ​ພຽງ​ແຕ່​ທາງ​ດ້ານ​ກົດ​ຫມາຍ​ເພື່ອ​ສະ​ຫນອງ a ຊື່ Buffer buffer, ປະ​ຫວັດ​ສາດ
Buffers, ແລະ ການເຮັດວຽກ Buffer ຈະບໍ່ມີຜົນໄດ້ຮັບ.

Variables
ຄໍາສັ່ງຕໍ່ໄປນີ້ຖືກນໍາໃຊ້ເພື່ອຈັດການເນື້ອໃນຂອງຕົວແປພາຍໃນແລະ
ຕົວແປສິ່ງແວດລ້ອມ.

\set [-x] [ຊື່=ມູນຄ່າ ... ]
ຖ້າບໍ່ມີການໂຕ້ຖຽງແມ່ນສະຫນອງໃຫ້ \ ຕັ້ງ ຫຼັງຈາກນັ້ນ, ມູນຄ່າປະຈຸບັນຂອງຕົວແປທັງຫມົດແມ່ນ
ສະແດງ. ຖ້າບໍ່ດັ່ງນັ້ນຕົວແປ ຊື່ ຖືກກໍານົດໃຫ້ ມູນຄ່າ. ໃຫ້ສັງເກດວ່າບາງພາຍໃນ
ຕົວແປ (ເບິ່ງ ພິເສດ ຄວາມຮັບຜິດຊອບ) ອາດ​ຈະ​ໄດ້​ຮັບ​ການ​ກໍາ​ນົດ​ພຽງ​ແຕ່​ທີ່​ແນ່​ນອນ​ ມູນຄ່າs, ດັ່ງນັ້ນການປະຕິບັດນີ້
ອາດຈະລົ້ມເຫລວ, ປ່ອຍໃຫ້ເນື້ອຫາທີ່ຜ່ານມາເປີດ ຊື່ intact. ທ -x ທຸງ ເປັນ ສາ ເຫດ ຂອງ
ຕົວແປທີ່ຈະຖືກສົ່ງອອກໄປສູ່ສະພາບແວດລ້ອມຂອງບັນດາໂຄງການທີ່ເປີດຕົວຈາກ sqsh.

ວຽກເຮັດງານທໍາ ການຄວບຄຸມ
ຄໍາສັ່ງຕໍ່ໄປນີ້ຖືກໃຊ້ເພື່ອເບິ່ງສະຖານະຂອງ, ຫຼືຈັດການວຽກພື້ນຖານທີ່
ປະຈຸບັນກໍາລັງແລ່ນຢູ່, ເຫຼົ່ານີ້ກົງກັບຄໍາສັ່ງທີ່ສະຫນອງໂດຍ shells ເຊັ່ນ:
csh(1​).

\ ວຽກ [-i]
ສະ​ແດງ​ສະ​ຖາ​ນະ​ພາບ​ຂອງ​ວຽກ​ເຮັດ​ງານ​ທໍາ​ໃນ​ປັດ​ຈຸ​ບັນ​ໃດ​ຫນຶ່ງ​, ລວມ​ທັງ​ການ​ຫຼື​ບໍ່​ແມ່ນ​ວຽກ​ງານ​ເຫຼົ່າ​ນີ້​
ມີຜົນຜະລິດທີ່ຍັງຄ້າງຢູ່, ໄລຍະເວລາທີ່ເຂົາເຈົ້າໄດ້ດໍາເນີນການ, ແລະໃນເວລາທີ່ເຂົາເຈົ້າໄດ້ເລີ່ມຕົ້ນ. ໄດ້
-i ທາງເລືອກຈະສະແດງຂໍ້ມູນວຽກເພີ່ມເຕີມ. ໃຫ້ສັງເກດວ່າເວລາແລ່ນທັງຫມົດຂອງ
ວຽກງານແມ່ນຖືກກໍານົດຕັ້ງແຕ່ເວລາທີ່ວຽກຖືກຫມາຍໃຫ້ສໍາເລັດໂດຍການອ່ານການປະເມີນຜົນ.
ພິມ loop ໃນ​ເວ​ລາ​ທີ່ polled​, ບໍ່​ແມ່ນ​ໃນ​ເວ​ລາ​ທີ່​ມັນ​ໄດ້​ສິ້ນ​ສຸດ​ລົງ​ໃນ​ຕົວ​ຈິງ​ແລະ​ຖືກ​ຫມາຍ​ວ່າ​ເປັນ​ການ​ຢຸດ​ເຊົາ​ໂດຍ​
ຕົວຈັດການສັນຍານ.

\ ລໍຖ້າ [job_id]
ຈະຢຸດຊົ່ວຄາວຈົນກ່ວາວຽກທີ່ກໍານົດໂດຍ job_id ສໍາເລັດ. ຖ້າ job_id ເປັນຕົວເລກລົບ
ຫຼັງຈາກນັ້ນ \ ລໍຖ້າ ຈະຢຸດຊົ່ວຄາວຈົນກ່ວາ ໃດ ວຽກທີ່ຄ້າງຢູ່ສຳເລັດ. ຖ້າບໍ່ມີວຽກຍັງຄ້າງຢູ່,
or job_id ບໍ່ໄດ້ຂຶ້ນກັບວຽກທີ່ເຮັດວຽກ, ຫຼັງຈາກນັ້ນຂໍ້ຄວາມສະແດງຂໍ້ຜິດພາດຈະຖືກສະແດງ. ຫມາຍ​ເຫດ​
ວ່າຖ້າຫຼາຍວຽກກໍາລັງແລ່ນ, ແລະ a \ ລໍຖ້າ ແມ່ນອອກສໍາລັບຫນຶ່ງຂອງພວກເຂົາ, ອື່ນໆ
ວຽກອາດຈະບໍ່ໄດ້ຮັບສັນຍານອັດຕະໂນມັດເມື່ອສໍາເລັດພາຍໃນໄລຍະເວລາລໍຖ້າຂອງ
ວຽກສະເພາະ. ວຽກອື່ນໆອາດຈະຈໍາເປັນຕ້ອງໄດ້ຮັບສັນຍານກັບ a \ ລໍຖ້າ -1 ເຊັ່ນດຽວກັນທີ່ຈະເປັນ
ສັງເກດເຫັນສໍາເລັດໂດຍ sqsh.

\ຂ້າ job_id
ຢຸດການເຮັດວຽກທີ່ລະບຸໄວ້ໂດຍ job_id, ຖິ້ມຜົນຜະລິດທີ່ອາດຈະຖືກເລື່ອນເວລາ
ສໍາລັບວຽກເຮັດງານທໍາ. ຖ້າ job_id ບໍ່ແມ່ນວຽກທີ່ເຮັດວຽກແລ້ວຂໍ້ຄວາມສະແດງຂໍ້ຜິດພາດຈະສະແດງຂຶ້ນ.

\ສະແດງ job_id
ສະ​ແດງ​ຜົນ​ໄດ້​ຮັບ​ເລື່ອນ​ຂອງ​ວຽກ​ງານ​ພື້ນ​ຖານ​ສໍາ​ເລັດ​ job_id ແລະລົບວຽກ
ຈາກ​ບັນ​ຊີ​ລາຍ​ການ​ຂອງ​ວຽກ​ເຮັດ​ງານ​ທໍາ​ທີ່​ຍັງ​ຄ້າງ (ການ​ລົບ​ໄຟລ​໌ defer ໃນ​ຂະ​ບວນ​ການ​)​. ຖ້າ job_id is
ຍັງເຮັດວຽກຢູ່, ຫຼືບໍ່ແມ່ນວຽກທີ່ສົມບູນທີ່ຖືກຕ້ອງ, ຫຼັງຈາກນັ້ນຂໍ້ຄວາມສະແດງຂໍ້ຜິດພາດຈະສະແດງຂຶ້ນ. ເຈົ້າ
ອາດຈະຈໍາເປັນຕ້ອງໄດ້ອອກ a \ ລໍຖ້າ job_id ກ່ອນອື່ນ ໝົດ, ໄດ້ຮັບການແຈ້ງບອກການ ສຳ ເລັດວຽກຕົວຈິງ.

ນາມແຝງ
ນັບຕັ້ງແຕ່ການປ່ອຍ 1.2, sqsh ສະ​ຫນັບ​ສະ​ຫນູນ​ຢ່າງ​ເຕັມ​ທີ່​ csh-style aliasing ຄໍາ​ສັ່ງ​. ດ້ວຍຄຸນສົມບັດນີ້, sqsh
ກວດເບິ່ງຄໍາທໍາອິດຂອງແຕ່ລະແຖວ, ກ່ອນ to ໃດ ຮູບແບບ of ການຂະຫຍາຍຕົວ, ເພື່ອເບິ່ງວ່າມັນກົງກັນ
ຊື່ຂອງນາມແຝງທີ່ມີຢູ່ແລ້ວ. ຖ້າມັນເຮັດ, ຄໍາສັ່ງຈະຖືກປະຕິບັດຄືນໃຫມ່ດ້ວຍນາມແຝງ
ຄໍານິຍາມແທນຊື່ຂອງມັນ. ບໍ່​ມັກ cshຢ່າງໃດກໍຕາມ, ມີພຽງແຕ່ຫນຶ່ງຮູບແບບຂອງການທົດແທນປະຫວັດສາດ
ມີຢູ່ໃນນາມແຝງ: '!*' entry, ຊີ້ບອກເສັ້ນປະຈຸບັນກໍາລັງຂະຫຍາຍ.
ຖ້າບໍ່ມີການຂະຫຍາຍປະຫວັດສາດຖືກຮຽກຮ້ອງ, ການໂຕ້ຖຽງໃນເສັ້ນຄໍາສັ່ງຍັງຄົງບໍ່ປ່ຽນແປງ.

ຄື csh, ນາມແຝງບໍ່ໄດ້ຖືກຂະຫຍາຍຄືນໃຫມ່, ສະນັ້ນມັນເປັນທີ່ຖືກຕ້ອງຕາມກົດຫມາຍຢ່າງສົມບູນທີ່ຈະສ້າງ
ນາມແຝງທີ່ຂະຫຍາຍໄປຫາຄໍາສັ່ງດ້ວຍຊື່ດຽວກັນ.

ຄໍາສັ່ງຕໍ່ໄປນີ້ຖືກນໍາໃຊ້ເພື່ອສ້າງນາມແຝງ:

\alias [alias_name=alias_body]
ຖ້າບໍ່ມີຂໍ້ໂຕ້ແຍ້ງຖືກສະໜອງໃຫ້ \ ນາມແຝງ ຄໍາສັ່ງ, ຫຼັງຈາກນັ້ນບັນຊີລາຍຊື່ຂອງນາມແຝງໃນປັດຈຸບັນ
ໃນ​ຜົນ​ກະ​ທົບ​ແມ່ນ​ສະ​ແດງ​ອອກ​. ຖ້າບໍ່ດັ່ງນັ້ນ, ມັນຈະສ້າງນາມແຝງໃຫມ່ທີ່ມີຊື່ຂອງ alias_name
ແລະຮ່າງກາຍຂອງ alias_body; ຖ້າ alias_name ມີຢູ່ແລ້ວ, ຮ່າງກາຍຂອງທີ່ມີຢູ່ແລ້ວ
alias_name ຖືກແທນທີ່ດ້ວຍຄໍານິຍາມໃຫມ່.

ຫຼັງຈາກກໍານົດນາມແຝງໃຫມ່, ທຸກຄັ້ງ sqsh ພົບເສັ້ນທີ່ເລີ່ມຕົ້ນດ້ວຍ
alias_name, ສ່ວນທີ່ເຫລືອຂອງເສັ້ນຖືກແທນທີ່ດ້ວຍ alias_body ກ່ອນ​ອື່ນ​ອີກ
ການປຸງແຕ່ງແມ່ນປະຕິບັດ.

ຖ້າສາຍ '!*'ມີຢູ່ທຸກບ່ອນພາຍໃນ alias_body, ການໂຕ້ຖຽງທີ່ສະຫນອງໃຫ້ແກ່
alias ຖືກແຊກໃສ່ຈຸດນັ້ນ, ຖ້າບໍ່ດັ່ງນັ້ນການໂຕ້ຖຽງຈະຖືກຕໍ່ທ້າຍ
ຄໍານິຍາມນາມແຝງ. ຍົກ​ຕົວ​ຢ່າງ:

1> \alias hi='\echo !* ກ່າວສະບາຍດີ'
1> ສະບາຍດີ Scott
Scott ເວົ້າສະບາຍດີ

ບ່ອນທີ່ເປັນນາມແຝງບໍ່ໄດ້ລວມເອົາ !* ຄໍາສໍາຄັນ, ຫຼັງຈາກນັ້ນມັນປະຕິບັດເຊັ່ນນັ້ນ:

1> \alias hi='\echo ກ່າວສະບາຍດີ'
1> ສະບາຍດີ Scott
ເວົ້າວ່າສະບາຍດີ Scott

ມັນເປັນກົດຫມາຍຢ່າງສົມບູນທີ່ຈະປະກອບມີ a !* ຫຼາຍກວ່າຫນຶ່ງຄັ້ງພາຍໃນທີ່ໃຫ້ alias_body.
ໃນປັດຈຸບັນບໍ່ມີທາງທີ່ຈະຫນີສາຍ !*, ຖ້າທ່ານຕ້ອງການຄຸນສົມບັດນີ້ແທ້ໆ
ສົ່ງອີເມວຫາຂ້ອຍ.

\unalias alias_name
ລົບກວນ alias_name.

Miscellaneous
ຄໍາສັ່ງຊ້າຍ.

\ ອອກ [x]
ໄດ້ \ ອອກ ຄໍາ​ສັ່ງ​ຮ້ອງ​ຂໍ​ໃຫ້​ປະ​ຈຸ​ບັນ read-eval-print loop ຢຸດ​ການ​ປຸງ​ແຕ່ງ​. ເມື່ອ​ໃດ​
loop ສຸດທ້າຍກັບຄືນມາ, sqsh ການທ່ອງທ່ຽວ(1​)s. ທ່ານອາດຈະລະບຸລະຫັດອອກເປັນພາລາມິເຕີທີ່
ຈະຖືກເກັບໄວ້ໃນ $exit_value ແລະຈະຖືກໃຊ້ເປັນຄ່າກັບຄືນໄປຫາ shell ເມື່ອອອກ
of sqsh. (0 <= x <= 255).

\ ເອົາລູກອອກ
ເຮັດໃຫ້ loops read-eval-print ທີ່ຖືກວາງໄວ້ທັງໝົດເພື່ອຍົກເລີກການປະມວນຜົນ, ເຊິ່ງກໍ່ໃຫ້ເກີດ sqsh ອອກໄປດ້ວຍ
ຄ່າທາງອອກຂອງ 254 (ເບິ່ງພາກ ອອກ STATUS).

\read [-a] [-n] [-h] var_name
ອ່ານເສັ້ນການປ້ອນຂໍ້ມູນຈາກຜູ້ໃຊ້, ການວາງຂໍ້ຄວາມຂອງເສັ້ນຢູ່ໃນຕົວແປ
var_nameທີ່ຢູ່ ຖ້າຫາກວ່າ -n ຖືກນໍາໃຊ້, ຫຼັງຈາກນັ້ນ, ແຖວໃຫມ່ຕໍ່ທ້າຍແມ່ນປະໄວ້ຢູ່ໃນເສັ້ນຂອງຂໍ້ຄວາມ,
ແລະຖ້າ -a ໄດ້ຖືກສະຫນອງ, ຫຼັງຈາກນັ້ນຂໍ້ຄວາມຂອງເສັ້ນແມ່ນໄດ້ຕໍ່ທ້າຍກັບມູນຄ່າທີ່ມີຢູ່ແລ້ວຂອງ
var_name. ໄດ້ -h ທຸງປິດການສະທ້ອນຂອງຕົວອັກສອນທີ່ພິມກັບຄືນໄປຫາຜູ້ໃຊ້.

\ ວິນາທີນອນ
ສາເຫດ sqsh ຢຸດຊົ່ວຄາວເກີນໄປ ວິນາທີ. ນີ້ແມ່ນເປັນປະໂຫຍດພາຍໃນສະຄິບຂອງຊຸດທີ່ຕ້ອງການ
ເພື່ອຢຸດຊົ່ວຄາວລະຫວ່າງ batches (ມັນເປັນປະໂຫຍດຕົ້ນຕໍກັບຂ້ອຍສໍາລັບການທົດສອບຄວາມເປັນມາ
ວຽກ).

\echo [-n] [args ...]
ຄືກັນກັບ UNIX echo(1​), ນີ້ພິມການໂຕ້ຖຽງຂອງຕົນເພື່ອ stdout, ປະຕິບັດຕາມໂດຍໃຫມ່ -
ເສັ້ນ. ຖ້າວ່າ -n ທຸງຖືກສະໜອງໃຫ້, ແຖວໃໝ່ຖືກລະເວັ້ນ.

\ຮັບປະກັນ
ສະແດງການຮັບປະກັນມາດຕະຖານ GNU.

\ ຊ່ວຍ​ເຫຼືອ [ຄໍາ​ສັ່ງ​]
ໂດຍບໍ່ມີການໂຕ້ຖຽງໃດໆ \ ຊ່ວຍ​ເຫຼືອ ສະແດງບັນຊີລາຍຊື່ຫຍໍ້ຂອງຄໍາສັ່ງທີ່ມີຢູ່ທັງຫມົດ,
ຖ້າບໍ່ດັ່ງນັ້ນ, ມັນສະຫນອງການຊ່ວຍເຫຼືອສະເພາະສໍາລັບ ຄໍາສັ່ງ, ຖ້າມີ. ເມື່ອຂໍຄວາມຊ່ວຍເຫຼືອ
ສະເພາະ ຄໍາສັ່ງ, \ ຊ່ວຍ​ເຫຼືອ ຊອກຫາໄຟລ໌ $help_dir/command.hlp ແລະສະແດງມັນ
ເພື່ອ stdout.

\shell [ຄໍາສັ່ງ shell]
If ຫອຍ ຄໍາສັ່ງ ບໍ່ໄດ້ສະຫນອງໃຫ້ຫຼັງຈາກນັ້ນ sqsh ການປະຕິບັດ $SHELLທີ່ຢູ່ ຖ້າຫາກວ່າ $SHELL ຕົວແປມີ
ບໍ່ໄດ້ຖືກຕັ້ງ, ຈາກນັ້ນ, ໂດຍຄ່າເລີ່ມຕົ້ນ, / ຖັງ / sh ຖືກ​ປະ​ຕິ​ບັດ​. ຖ້າບໍ່ດັ່ງນັ້ນ, ຖ້າ ຫອຍ ຄໍາສັ່ງ is
ສະຫນອງໃຫ້ຫຼັງຈາກນັ້ນມັນຖືກປະຕິບັດ. ສະຖານະການອອກຂອງຄໍາສັ່ງປະຕິບັດຖືກເກັບໄວ້ໃນ
ພິເສດ $? ຕົວແປສະພາບແວດລ້ອມທີ່ອ່ານເທົ່ານັ້ນ.

\ ລັອກ
ລັອກເຊສຊັນປັດຈຸບັນຈົນກວ່າຈະພິມລະຫັດຜ່ານທີ່ຖືກຕ້ອງ. ໂດຍຄ່າເລີ່ມຕົ້ນ \ ລັອກ
ພະຍາຍາມໃຊ້ລະຫັດຜ່ານ UNIX (ຈາກ / etc / passwd) ທີ່​ກ່ຽວ​ຂ້ອງ​ກັບ​ຜູ້​ໃຊ້​ແລ່ນ​
sqsh, ຢ່າງໃດກໍຕາມຖ້າຫາກວ່າ $lock ຕົວແປແມ່ນຖືກກໍານົດຫຼັງຈາກນັ້ນເນື້ອໃນຂອງທີ່ຖືກນໍາໃຊ້ສໍາລັບ
ຢືນຢັນແທນ.

ຫມາຍເຫດ, ໃນລະບົບທີ່ໃຊ້ Shadow Passwords (ເຊິ່ງເຖິງແມ່ນວ່າລະຫັດຜ່ານທີ່ຖືກເຂົ້າລະຫັດແມ່ນ
ບໍ່ສາມາດໃຊ້ໄດ້), \ ລັອກ ຈະເຮັດວຽກພຽງແຕ່ການນໍາໃຊ້ $lock ຕົວແປ.

ນາມແຝງ
ນາມແຝງຕໍ່ໄປນີ້ຖືກສ້າງຕັ້ງຂຶ້ນເມື່ອເລີ່ມຕົ້ນ sqsh, ແລະສະຫນອງໃຫ້ຕົ້ນຕໍສໍາລັບການ
ກັບຄືນໄປບ່ອນເຂົ້າກັນໄດ້ກັບ isql. ສິ່ງເຫຼົ່ານີ້ອາດຈະຖືກໂຍກຍ້າຍອອກໄດ້ທຸກເວລາໂດຍໃຊ້ \unalias
ຄໍາສັ່ງ (ບໍ່ວ່າຈະຢູ່ໃນການເຕືອນ, ຫຼືພາຍໃນໄຟລ໌ .sqshrc ຂອງທ່ານ).

! The ! alias ແມ່ນສະຫນອງໃຫ້ເປັນ csh(1​)ກົນໄກປະຫວັດສາດຄ້າຍຄື, ແລະເປັນນາມແຝງຂອງ
\buf-ຕໍ່ທ້າຍ. ດ້ວຍການປ່ອຍ 0.7, ນາມແຝງນີ້ຖືກສະຫນອງໃຫ້ພຽງແຕ່ສໍາລັບຄວາມເຂົ້າກັນໄດ້ໃນດ້ານຫລັງ
ກັບການປ່ອຍທີ່ຜ່ານມາຂອງ sqsh, ທະເລສາບ ພິເສດ ຄວາມຮັບຜິດຊອບ, $history_shorthand ສໍາລັບລາຍລະອຽດ
ກ່ຽວ​ກັບ​ກົນ​ໄກ shorthand ໃຫມ່ (ການ shorthand ໃຫມ່​ຄ້າຍ​ຄື​ກັນ​ຫຼາຍ​ຢ່າງ​ໃກ້​ຊິດ​ຂອງ csh).

ແຈ້ງ
ນາມແຝງສໍາລັບ \ ຈະແຈ້ງ ຄໍາສັ່ງ, ເຊິ່ງເຮັດໃຫ້ເນື້ອໃນຂອງ buffer ການເຮັດວຽກໃນປະຈຸບັນ
ທີ່​ຈະ​ໄດ້​ຮັບ​ການ​ເກັບ​ກູ້​ແລະ​ການ​ຍົກ​ເລີກ​. ນອກຈາກນັ້ນ, ຫນ້າຈໍຈະຖືກລຶບລ້າງຖ້າ readline ຖືກລວບລວມ
ເຂົ້າໄປໃນ sqsh.

reset
ນາມແຝງສໍາລັບ \ ຣີເຊັດ ຄໍາສັ່ງ, ເຊິ່ງເຮັດໃຫ້ເນື້ອໃນຂອງ buffer ການເຮັດວຽກໃນປະຈຸບັນ
ຈະຖືກລຶບລ້າງ ແລະສຳເນົາໄວ້ໃນປະຫວັດ (ຖ້າຢູ່ໃນໂໝດໂຕ້ຕອບ).

ອອກ [x]
ເຊົາ [x]
ນາມແຝງສໍາລັບ \ ອອກ [X] ຄໍາສັ່ງ, ເຮັດໃຫ້ປະຈຸບັນ read-eval-print loop ກັບ
ສົມບູນ.

ດັດແກ້
vi
emacs
ເຫຼົ່ານີ້ແມ່ນໄດ້ສະຫນອງໃຫ້ເປັນນາມແຝງສໍາລັບ \buf-ແກ້ໄຂ ຄໍາສັ່ງ. ເບິ່ງ COMMANDS-Buffers ສໍາລັບການ
ຂໍ້​ມູນ​ກ່ຽວ​ກັບ​ການ​ພົວ​ພັນ​ລະ​ຫວ່າງ​ \buf-ແກ້ໄຂ ແລະນາມແຝງ.

ໄປສະຫນອງໃຫ້ເປັນນາມແຝງສໍາລັບ \ ໄປ ຄໍາສັ່ງ (ສໍາລັບເຫດຜົນທີ່ຊັດເຈນ).

ຊ່ວຍເຫຼືອ
ນາມແຝງສໍາລັບ \ ຊ່ວຍ​ເຫຼືອ ຄໍາສັ່ງ.

ໃນສາຍ \ ໄປ

ຖ້າຕົວແປ $semicolon_hack ຖືກກໍານົດເປັນ 1 (on), ຫຼັງຈາກນັ້ນ sqsh ສະຫນັບສະຫນູນສິ່ງທີ່ເອີ້ນວ່າ in-
ອອນໄລນ໌ \ ໄປ ຄຸນ​ນະ​ສົມ​ບັດ. ນີ້ອະນຸຍາດໃຫ້ batch ຄໍາສັ່ງໃນປະຈຸບັນຖືກຢຸດເຊົາແລະຖືກສົ່ງໄປຫາ
ຖານຂໍ້ມູນໃນຂັ້ນຕອນດຽວໂດຍການເພີ່ມ ';' ໄປຫາຈຸດສິ້ນສຸດຂອງ buffer ວຽກປະຈຸບັນ. ນີ້
ອະນຸຍາດໃຫ້

1> sp_who;

ປະຕິບັດລັກສະນະດຽວກັນກັບວ່າທ່ານພິມ:

1> sp_who
2> \ ໄປ

ເຊັ່ນດຽວກັນ, ສິ່ງໃດແດ່ທີ່ປະຕິບັດຕາມ semicolon ແມ່ນຖືກສົ່ງໄປຫາ \ ໄປ ຄໍາສັ່ງຄືກັນກັບວ່າມັນແມ່ນ
ດໍາເນີນການເປັນຄໍາສັ່ງປົກກະຕິ:

1> sp_who ; 2>/dev/null | ເພີ່ມເຕີມ

ບໍ່ເຫມືອນກັບອື່ນໆທີ່ສຸດ isql ການ​ທົດ​ແທນ​, sqsh ພະຍາຍາມສະຫລາດກ່ຽວກັບເຄື່ອງໝາຍຈຸດ. ຖ້າ ກ
semicolon ແມ່ນບັນຈຸຢູ່ໃນຊຸດຂອງວົງຢືມດຽວຫຼືຄູ່ທີ່ມັນຈະບໍ່ຖືກຕີຄວາມຫມາຍ.
ນີ້ປະກອບມີຫຼາຍຄໍາອ້າງອີງ. ຍົກ​ຕົວ​ຢ່າງ:

1> ເລືອກ "ນີ້ແມ່ນຫຼາຍເສັ້ນ
2> quote; ມັນສະຫຼາດ!"

ໃນຕົວຢ່າງຂ້າງເທິງ, ມີພຽງແຕ່ semicolon ທີສອງ (ຫນຶ່ງຢູ່ໃນຕອນທ້າຍຂອງເສັ້ນ) ຈະເປັນ
ຕີຄວາມໝາຍ.

ພິເສດ ຄວາມຮັບຜິດຊອບ


ມີ​ທາງ​ເລືອກ​ຈໍາ​ນວນ​ຫນຶ່ງ​ທີ່​ກໍາ​ນົດ​ໄດ້​ໂດຍ​ຜ່ານ​ທາງ​ເລືອກ​ໃນ​ບັນ​ຊີ​ຄໍາ​ສັ່ງ​ເພື່ອ​ sqsh,
ຢ່າງໃດກໍຕາມ, ເຫຼົ່ານີ້ແມ່ນບໍ່ສໍາເລັດ. ມີຫຼາຍດ້ານຂອງ sqshພຶດຕິກໍາທີ່ອາດຈະ
ພຽງແຕ່ໄດ້ຮັບການດັດແກ້ໂດຍການກໍານົດຕົວແປພິເສດ. (ໃນ​ຄວາມ​ເປັນ​ຈິງ, the command line options really
ພຽງແຕ່ກໍານົດຕົວແປເຫຼົ່ານີ້ສໍາລັບທ່ານ).

ການປ່ຽນແປງ ຂໍ້ມູນ ປະເພດ
ຕໍ່ໄປກັບຕົວແປທັງຫມົດທີ່ປະຕິບັດຕາມແມ່ນປະເພດຂອງຂໍ້ມູນທີ່ພວກເຂົາອາດຈະຖືກກໍານົດ.
ຄວາມພະຍາຍາມທີ່ຈະຕັ້ງຄ່າຕົວແປດ້ວຍປະເພດຂອງຂໍ້ມູນທີ່ມັນບໍ່ຍອມຮັບຈະລົ້ມເຫລວ.

string
ຕົວອັກສອນຕາມລຳດັບ.

ປຸ້ຍ
A positive ປຸ້ຍ ຄ່າອາດຈະຖືກສະແດງເປັນ "ແທ້", "ແມ່ນ", "1", ຫຼື "On"
(case insensitive) ແລະຄ່າ boolean ທາງລົບອາດຈະຖືກສະແດງເປັນ "False", "No",
"0", ຫຼື "ປິດ" (ຕົວພິມນ້ອຍໃຫຍ່ບໍ່ມີຕົວຕົນ). ຢ່າງໃດກໍຕາມ, ພາຍໃນມູນຄ່າຂອງຕົວແປຈະ
ຈະຖືກສະແດງເປັນ "1" ຫຼື "0".

ເສັ້ນທາງ
ຕ້ອງເປັນ ເສັ້ນທາງ ຊື່​ທີ່​ສາ​ມາດ​ອ່ານ​ໄດ້​ໂດຍ​ sqsh ໂຄງການ.

int ຕ້ອງເປັນໜຶ່ງ ຫຼືຫຼາຍຕົວເລກ. ໃຫ້ສັງເກດວ່າບາງຕົວແປຍັງຈໍາກັດຂອບເຂດຂອງ
ເລກເຕັມ.

ວັນທີ-spec
ນີ້ແມ່ນສະຕຣິງຂອງຮູບແບບທີ່ໃຊ້ເພື່ອລະບຸວັນທີ ແລະເວລາຂອງ ວັນ(1​)
ຄໍາສັ່ງ, ຫຼື ເວລາຕໍ່ເວລາ(3C) ແລະ cftime(3C) ຟັງຊັນ C ມາດຕະຖານ. ຍົກ​ຕົວ​ຢ່າງ
'%H:%M:%S' ກຳນົດເວລາຂອງຊົ່ວໂມງໃນຮູບແບບ 24 ຊົ່ວໂມງ, ຕາມດ້ວຍຈໍ້າສອງເມັດ, ຕິດຕາມ.
ໂດຍນາທີ, ຕາມດ້ວຍຈໍ້າສອງເມັດ, ຕາມດ້ວຍວິນາທີ.

ຮູບ​ແບບ​ທີ່​ເລື່ອນ​ໄດ້​
ສະຕຣິງຂອງຮູບແບບ ps, ບ່ອນທີ່ p ແມ່ນຄວາມຊັດເຈນທັງໝົດຂອງຄ່າຈຸດລອຍ
(ຈໍາ​ນວນ​ທັງ​ຫມົດ​ຂອງ​ຕົວ​ເລກ​ທີ່​ຈະ​ສະ​ແດງ​, ລວມ​ທັງ​ຕົວ​ເລກ​ທີ່​ຕໍ່​ໄປ​ນີ້​ທົດ​ສະ​ນິ​ຍົມ​)
ແລະ s ແມ່ນຂະໜາດຂອງຄ່າ (ຈຳນວນຕົວເລກທັງໝົດຕາມຖານທົດສະນິຍົມຫາ
ໄດ້​ຮັບ​ການ​ສະ​ແດງ​)​.

Variables

ຕົວແປຕໍ່ໄປນີ້ມີຄວາມຫມາຍພິເສດພາຍໃນ sqsh ແລະການຕັ້ງຄ່າເຫຼົ່ານີ້
ຕົວແປປ່ຽນແປງພຶດຕິກໍາຂອງແກະ.

$? (int)
ຕົວແປທີ່ອ່ານເທົ່ານັ້ນນີ້ອາດມີຄ່າຕອບແທນຕໍ່ໄປນີ້:

· ຕົວເລກຂໍ້ຜິດພາດຫຼ້າສຸດທີ່ສົ່ງຄືນມາຈາກ SQL Server (@@errno) ຂອງຄວາມຮຸນແຮງ >
10 (ຂ້າງເທິງຂໍ້ຄວາມຂໍ້ມູນຂ່າວສານ).

·ຄ່າອອກຂອງຄໍາສັ່ງທໍ່ທີ່ປະຕິບັດກ່ອນຫນ້ານີ້.

·ຄ່າກັບຄືນຂອງຟັງຊັນ sqsh ທີ່ປະຕິບັດຫຼ້າສຸດ.

$$? (int)
ຕົວແປນີ້ອາດມີຜົນຂອງຄຳສັ່ງ \if ທີ່ດຳເນີນການຫຼ້າສຸດ:

- ປີ 0 -
ການທົດສອບປະເມີນເປັນ False.

- ປີ 1 -
ການທົດສອບປະເມີນເປັນ True.

- ປີ 2 -
ມີຄວາມຜິດພາດໃນຂໍ້ສະເພາະຂອງການທົດສອບ.

$# (int)
ປະກອບມີຈໍານວນ argument ທີ່ສົ່ງເຂົ້າໄປໃນຟັງຊັນ sqsh ຫຼື script.

$* (ລາຍການສະຕຣິງ)
ຂະຫຍາຍໄປຫາບັນຊີລາຍຊື່ເຕັມຂອງອາກິວເມັນທີ່ສະໜອງໃຫ້ກັບຟັງຊັນ ຫຼືສະຄຣິບເມື່ອ
ຮຽກຮ້ອງ.

${0}...${N} (int)
ໃຊ້ເພື່ອອ້າງອີງການໂຕ້ແຍ້ງຂອງໜ້າທີ່ຕຳແໜ່ງ. Argument ${0} ແມ່ນຊື່ຂອງ
ຟັງຊັນທີ່ຖືກເອີ້ນ, ${1} ແມ່ນ argument ທໍາອິດ, ແລະອື່ນໆ.

$$ ຂະຫຍາຍໄປຫາ ID ຂະບວນການຂອງເຊດຊັນ sqsh ທີ່ໃຊ້ໃນປັດຈຸບັນ.

DISPLAY
ອາດມີຊື່ຂອງ DISPLAY ທີ່ເຊີບເວີ X ໃຊ້ເພື່ອໃສ່ຜົນໄດ້ຮັບ XWindows
window ໃນ​ເວ​ລາ​ທີ່​ການ​ນໍາ​ໃຊ້​ \ ໄປ -x. ຄ່າເລີ່ມຕົ້ນຂອງ $DISPLAY ສະພາບແວດລ້ອມຂອງຫອຍ.

ຊື່ແອັບ
ປະກອບດ້ວຍຊື່ sqsh ໃຊ້ເພື່ອລະບຸຕົວຕົນຂອງເຄື່ອງແມ່ຂ່າຍ. ຄ່າເລີ່ມຕົ້ນເປັນ sqsh-2.1.7.
ຊື່ແອັບພລິເຄຊັນສາມາດດຶງມາຈາກຕາຕະລາງ sysprocesses ເຊັ່ນ:
ເລືອກ program_name ຈາກ master.dbo.sysprocesses ບ່ອນທີ່ spid=@@pid;

ອັດຕະໂນມັດ (string)
ໝາຍເຫດ: ຄວາມໝາຍຂອງຕົວແປນີ້ຖືກປະຕິເສດແລ້ວ.

If $autouse ຖືກກໍານົດ, ແລະ $database ຕົວແປບໍ່ໄດ້ຖືກກໍານົດ, ຫຼັງຈາກນັ້ນຕົວແປນີ້
ສາເຫດ \ ເຊື່ອມຕໍ່ ເພື່ອປະຕິບັດ "ການນໍາໃຊ້ $autouse"ເມື່ອການເຊື່ອມຕໍ່ໄດ້ຖືກສ້າງຕັ້ງຂຶ້ນ.

ຕົວແປນີ້ອາດຈະຖືກຕັ້ງໂດຍໃຊ້ -D ຕົວເລືອກເສັ້ນທາງຄໍາສັ່ງ.

ປ້າຍໂຄສະນາ (ບູລີນ)
ປິດຂໍ້ຄວາມປ້າຍໂຄສະນາທີ່ສະແດງໃນຕອນເລີ່ມຕົ້ນ, ຕົວແປນີ້ເລີ່ມຕົ້ນເປັນ 1 ແລະອາດຈະ
ຍັງຖືກປິດໂດຍໃຊ້ -b ການໂຕ້ຖຽງແຖວຄໍາສັ່ງ.

batch_failcount (int)
ຕົວແປພາຍໃນນີ້ຖືກນໍາໃຊ້ເພື່ອຕິດຕາມຈໍານວນ batches ທີ່ລົ້ມເຫລວ
ເພື່ອປະຕິບັດ (ໂດຍພື້ນຖານແລ້ວ, ຈໍານວນເວລາທີ່ຕົວຈັດການຄວາມຜິດພາດຖືກເອີ້ນ).

batch ແມ່ນຖືວ່າລົ້ມເຫລວທຸກຄັ້ງທີ່ຄວາມຜິດພາດຂອງຄວາມຮຸນແຮງ $thresh_fail is
ພົບ. ເມື່ອ​ໃດ​ $batch_failcount ບັນ $thresh_exit sqsh ອອກດ້ວຍຄ່າອອກ
ຂອງຈໍານວນ batch ທັງຫມົດທີ່ລົ້ມເຫລວ. ການຕັ້ງຄ່າ $batch_failcount ການ
string "" ຈະເຮັດໃຫ້ມັນຣີເຊັດເປັນສູນ, ຄ່າອື່ນໆອາດມີຄ່າທີ່ຄາດເດົາບໍ່ໄດ້
ຜົນໄດ້ຮັບ.

ເບິ່ງ ອອກ STATUS ສໍາລັບລາຍລະອຽດ.

batch_pause (ບູລີນ)
ເຮັດໃຫ້ຂໍ້ຄວາມ "Pauseed. Hit enter to continue..." ທີ່ຈະສະແດງຫຼັງຈາກແຕ່ລະຊຸດ
ຖືກ​ປະ​ຕິ​ບັດ​. ຕົວແປນີ້, ສົມທົບກັບ $echo ແມ່ນດີສໍາລັບການດີບັກ SQL
ສະຄຣິບທີ່ລະບຸດ້ວຍ -i ທາງເລືອກ.

bcp_colsep (string)
ໃຊ້ເປັນຕົວແຍກລະຫວ່າງຖັນໃນລະຫວ່າງການຜົນຜະລິດແບບ BCP (ເບິ່ງ $style
ຕົວແປການຕັ້ງຄ່າແລະ -m ທາງ​ເລືອກ​ໃນ​ການ​ \ ໄປ ຄໍາສັ່ງ). ການຕັ້ງຄ່າເລີ່ມຕົ້ນແມ່ນ
"|".

bcp_rowsep (string)
ໃຊ້ເປັນຕົວແຍກລະຫວ່າງແຖວໃນລະຫວ່າງການອອກແບບ BCP (ເບິ່ງ $style configuration
ຕົວແປແລະ -m ທາງ​ເລືອກ​ໃນ​ການ​ \ ໄປ ຄໍາສັ່ງ). ກະລຸນາຮັບຊາບວ່າ, ແຖວໃໝ່ ("\n") ແມ່ນ
ຕື່ມຄ່ານີ້ໂດຍອັດຕະໂນມັດ ແລະບໍ່ຄວນສະໜອງໃຫ້. ການຕັ້ງຄ່າເລີ່ມຕົ້ນແມ່ນ
"|".

bcp_trim (ບູລີນ)
ຄວບຄຸມວ່າຈະໃຫ້ອອກຮູບແບບ BCP ຫຼືບໍ່ຕັດຊ່ອງຫວ່າງຈາກຄວາມຍາວຄົງທີ່
ຖັນ. ຄ່າເລີ່ມຕົ້ນແມ່ນ "ຄວາມຈິງ".

ໂສ້ (ບູລີນ)
ຖ້າຕັ້ງຄ່າແລ້ວ sqsh ໃຊ້ຮູບແບບການເຮັດທຸລະກໍາ "ຕ່ອງໂສ້" (aka "AutoCommit off"). ການຕັ້ງຄ່າ
ນີ້ບໍ່ມີຜົນຕໍ່ການເຊື່ອມຕໍ່ໃນປະຈຸບັນ. ມັນສາມາດຖືກກໍານົດຜ່ານເສັ້ນຄໍາສັ່ງ
ການໂຕ້ຖຽງ -n.

ຕົວອັກສອນ (string)
ຖ້າຕົວແປນີ້ຖືກຕັ້ງໄວ້ກ່ອນທີ່ຈະສ້າງການເຊື່ອມຕໍ່ກັບ SQL Server, ຫຼັງຈາກນັ້ນ
ໃນ​ລະ​ຫວ່າງ​ການ​ເຊື່ອມ​ຕໍ່​ sqsh ຈະຮ້ອງຂໍໃຫ້ເຄື່ອງແມ່ຂ່າຍຫັນເປັນແລະຈາກ
ຂໍ ສາຍໄຟ. ຫຼັງຈາກສ້າງການເຊື່ອມຕໍ່, ຕົວແປນີ້ຖືກຕັ້ງໂດຍອັດຕະໂນມັດ
ກັບຕົວອັກສອນປະຈຸບັນທີ່ກໍານົດໄວ້ໃນການນໍາໃຊ້.

clear_on_fail (boolean)
ປົກກະຕິແລ້ວ, ທຸກຄັ້ງທີ່ \ ໄປ ຄໍາ​ສັ່ງ​ແມ່ນ​ດໍາ​ເນີນ​ການ​, sqsh ລຶບລ້າງ buffer ການເຮັດວຽກໃນປະຈຸບັນຂອງມັນ
ເນື້ອໃນ, ຍ້າຍພວກເຂົາໄປສູ່ປະຫວັດສາດ. ການຕັ້ງຄ່າ $clear_on_fail ເຖິງ 0, ອອກຈາກວຽກປະຈຸບັນ
buffer intact ຖ້າພົບຄວາມລົ້ມເຫຼວໃນຂະນະທີ່ສົ່ງເນື້ອຫາໄປຫາຖານຂໍ້ມູນ.
ຄ່າເລີ່ມຕົ້ນແມ່ນ 1, ຫຼື on.

colsep (string)
ເຮັດໃຫ້ເກີດສາຍ ໂຄເຊບ ເພື່ອຖືກນໍາໃຊ້ເພື່ອກໍານົດຂອບເຂດຜົນຜະລິດຖັນ SQL, ນີ້
ຄ່າເລີ່ມຕົ້ນເປັນ " ", ມັນອາດຈະຖືກຕັ້ງຜ່ານ argument ແຖວຄໍາສັ່ງ -s.

ຄວາມກວ້າງ (int)
ໃຊ້ເພື່ອຄວບຄຸມຄວາມກວ້າງຂອງຖັນສູງສຸດທີ່ສະແດງໂດຍ pretty ຮູບແບບການສະແດງ (ເບິ່ງ
$style ຂ້າງລຸ່ມນີ້). ຖ້າແຖວຂອງຖັນເກີນຄວາມກວ້າງນີ້, ມັນຈະຖືກຫໍ່ດ້ວຍ a
ລັກ​ສະ​ນະ​ທີ່​ຂ້ອນ​ຂ້າງ​ທີ່​ຫນ້າ​ສົນ​ໃຈ​ຢູ່​ໃນ​ $colwidth ຕົວລະຄອນ. ຫມາຍເຫດ, ຢ່າງໃດກໍຕາມ, ວ່າຖ້າຫາກວ່າ
ມີຄວາມກວ້າງໜ້າຈໍພຽງພໍເພື່ອຖືຖັນທັງໝົດ $colwidth ອາດ​ຈະ​ຖືກ​ເກີນ​ໄປ​ຈົນ​ກ​່​ວາ​
ຄວາມກວ້າງຂອງຫນ້າຈໍແມ່ນບັນລຸໄດ້.

ຖານ​ຂໍ້​ມູນ (string​)
ຖ້າຕົວແປນີ້ຖືກຕັ້ງໄວ້ກ່ອນທີ່ຈະສ້າງການເຊື່ອມຕໍ່ກັບ SQL Server, a
"ໃຊ້ $database"ແມ່ນປະຕິບັດທັນທີຫຼັງຈາກການເຊື່ອມຕໍ່ໄດ້ຖືກສ້າງຕັ້ງຂຶ້ນ. ເມື່ອ a
ການ​ເຊື່ອມ​ຕໍ່​ໄດ້​ຮັບ​ການ​ສ້າງ​ຕັ້ງ​ຕົວ​ປ່ຽນ​ແປງ​ນີ້​ອັດ​ຕະ​ໂນ​ມັດ​ຈະ​ຖືກ​ຕັ້ງ​ເປັນ​ປັດ​ຈຸ​ບັນ​
ບໍລິບົດຖານຂໍ້ມູນ.

ວັນທີ (date-spec)
ຕົວແປນີ້ອາດຈະຖືກຕັ້ງດ້ວຍຮູບແບບວັນທີ (ເບິ່ງ man page for ວັນ(1​)), ແລະ
ຕົວແປຂະຫຍາຍໄປຫາວັນທີປະຈຸບັນໃນຮູບແບບທີ່ສະໜອງໃຫ້. ຮູບແບບເລີ່ມຕົ້ນສໍາລັບ
ຕົວແປນີ້ແມ່ນ %d-%b-%y (ເຊັ່ນ: 02-Feb-1996).

ວັນທີ (ວັນທີ-ສະເພາະ)
ຕົວແປນີ້ອາດຈະຖືກຕັ້ງດ້ວຍຮູບແບບວັນທີທີ່ຄ້າຍຄືກັນກັບ $date ແລະ $ ເວລາ ແລະຖືກນໍາໃຊ້ເພື່ອ
ຄວບຄຸມຮູບແບບການສະແດງຜົນຂອງທຸກຖັນ SQL Server DATETIME ແລະ SMALLDATETIME.

ໃຫ້ສັງເກດວ່າຄຸນສົມບັດນີ້ອີງໃສ່ຂໍ້ມູນທ້ອງຖິ່ນສະເພາະຂອງລະບົບປະຕິບັດການ
ສໍາລັບກໍານົດສິ່ງດັ່ງກ່າວເປັນຊື່ຂອງເດືອນແລະວັນ, ແທນທີ່ຈະໄປ
ຜ່ານຂໍ້ມູນທ້ອງຖິ່ນ CT-Lib. ນີ້ຫມາຍຄວາມວ່າຮູບແບບວັນທີສາມາດ
ອາດຈະພາດ-ກົງກັບທ້ອງຖິ່ນຕາມທີ່ຮ້ອງຂໍໂດຍໃຊ້ -z ທຸງ. ຕົວຢ່າງ, ຖ້າ sqsh
ແມ່ນດໍາເນີນການຢູ່ໃນລະບົບປະຕິບັດການທີ່ກໍາຫນົດຄ່າສໍາລັບພາສາອັງກິດສະຫະລັດ, ແຕ່ຮ້ອງຂໍພາສາຝຣັ່ງເປັນ
ພາສາທີ່ເລືອກໃຊ້ -z, ການ ນຳ ໃຊ້ $datetime ຈະເຮັດໃຫ້ຂໍ້ມູນວັນທີທັງໝົດ
ຈະຖືກສະແດງເປັນພາສາອັງກິດຂອງສະຫະລັດຫຼາຍກວ່າພາສາຝຣັ່ງ.

ຕົວອັກສອນທຳມະດາທີ່ກຳນົດໄວ້ໃນຕົວແປແມ່ນຖືກປະໄວ້ໃນບ່ອນໂດຍບໍ່ມີການປ່ຽນໃຈເຫລື້ອມໃສໃດໆ.
ຕົວອັກສອນທີ່ນຳສະເໜີໂດຍຕົວອັກສອນ '%' ຈະຖືກແທນທີ່ໃນລະຫວ່າງການສະແດງຄ່າຖັນ
ດັ່ງຕໍ່ໄປນີ້:

[] ໃດໆທີ່ບັນຈຸຢູ່ລະຫວ່າງຄູ່ຂອງວົງເລັບ ('[' ແລະ ']') ຈະຖືກລຶບອອກເມື່ອ
ກຳລັງສະແດງຖັນ SMALLDATETIME. ຄຸນນະສົມບັດນີ້ແມ່ນເປັນປະໂຫຍດໂດຍສະເພາະສໍາລັບການເອົາອອກ
ຄ່າວິນາທີ ແລະມິນລິວິນາທີ ທີ່ບໍ່ສາມາດໃຊ້ໄດ້ກັບ SMALLDATETIME
ແນວໃດກໍ່ຕາມ. ສໍາລັບຖັນ DATETIME, ມີພຽງແຕ່ວົງເລັບຕົວຈິງເທົ່ານັ້ນທີ່ຈະຖືກລຶບອອກ.

%a ຊື່​ວັນ​ອາ​ທິດ​ທີ່​ຫຍໍ້​ໂດຍ​ອີງ​ຕາມ​ລະ​ບົບ​ປະ​ຕິ​ບັດ​ການ​ປະ​ຈຸ​ບັນ​ລະ​ບົບ​ທີ່​.

%A ຊື່ເຕັມຂອງອາທິດອີງຕາມສະຖານທີ່ຂອງລະບົບປະຕິບັດການໃນປະຈຸບັນ.

%b ຊື່​ເດືອນ​ຫຍໍ້​ໂດຍ​ອີງ​ຕາມ​ຖານ​ທີ່​ລະ​ບົບ​ປະ​ຕິ​ບັດ​ການ​ປະ​ຈຸ​ບັນ​.

%B ຊື່ເດືອນເຕັມອີງຕາມສະຖານທີ່ຂອງລະບົບປະຕິບັດການໃນປະຈຸບັນ.

%c ການສະແດງວັນທີ ແລະເວລາທີ່ຕ້ອງການສຳລັບລະບົບປະຕິບັດການປັດຈຸບັນ
ທ້ອງຖິ່ນ.

%d ມື້ຂອງເດືອນເປັນຕົວເລກທົດສະນິຍົມ (ໄລຍະ 0 ຫາ 31).

%D ວັນທີໃນຮູບແບບສະຫະລັດ (mm/dd/yy).

%H ຊົ່ວໂມງເປັນຕົວເລກທົດສະນິຍົມໂດຍໃຊ້ໂມງ 24 ຊົ່ວໂມງ (ໄລຍະ 00 ຫາ 23)

%I ຊົ່ວໂມງເປັນຕົວເລກທົດສະນິຍົມໂດຍໃຊ້ໂມງ 12 ຊົ່ວໂມງ (ໄລຍະ 01 ຫາ 12)

%j ມື້ຂອງປີເປັນຕົວເລກທົດສະນິຍົມ (ໄລຍະ 001 ຫາ 366).

%m ເດືອນເປັນຕົວເລກທົດສະນິຍົມ (ໄລຍະ 10 ຫາ 12).

%M ນາທີເປັນຕົວເລກທົດສະນິຍົມ.

%p ບໍ່ວ່າຈະເປັນ 'am' ຫຼື 'pm' ອີງຕາມຄ່າເວລາທີ່ກໍານົດໄວ້, ຫຼືທີ່ສອດຄ້ອງກັນ
ສະຕຣິງສໍາລັບລະບົບປະຕິບັດງານປະຈຸບັນ.

%r ເວລາໃນຮູບແບບ 12 ຊົ່ວໂມງ (hh:mm:ss [AM|PM]).

%s ວິນາທີນັບຕັ້ງແຕ່ epoc (1970-01-01 00:00:00 UTC) (ອັນນີ້ບໍ່ຮອງຮັບທັງໝົດ
ລະບົບຕ່າງໆ).

%S ອັນທີສອງເປັນຕົວເລກທົດສະນິຍົມ.

%T ເວລາປັດຈຸບັນໃນຮູບແບບ 24 ຊົ່ວໂມງ (hh:mm:ss).

%u ມິລິວິນາທີເປັນຕົວເລກທົດສະນິຍົມ.

%U ຈໍານວນອາທິດຂອງປີປັດຈຸບັນເປັນຕົວເລກທົດສະນິຍົມ, ເລີ່ມຈາກທໍາອິດ
ວັນອາທິດເປັນມື້ທໍາອິດຂອງອາທິດທໍາອິດ.

%W ຕົວເລກອາທິດຂອງປີປັດຈຸບັນເປັນຕົວເລກທົດສະນິຍົມ, ເລີ່ມຕົ້ນດ້ວຍໂຕທຳອິດ
ວັນຈັນເປັນມື້ທໍາອິດຂອງອາທິດທໍາອິດ.

%w ມື້ຂອງອາທິດເປັນທົດສະນິຍົມ, ວັນອາທິດເປັນ 0.

%x ການສະແດງວັນທີທີ່ຕ້ອງການສໍາລັບທ້ອງຖິ່ນໃນປະຈຸບັນໂດຍບໍ່ມີເວລາ.

%X ການສະແດງເວລາທີ່ຕ້ອງການສຳລັບສະຖານທີ່ປັດຈຸບັນໂດຍບໍ່ມີວັນທີ.

%y ປີເປັນຕົວເລກທົດສະນິຍົມທີ່ບໍ່ມີສະຕະວັດ (ໄລຍະ 00 ຫາ 99).

%Y ປີເປັນຕົວເລກທົດສະນິຍົມລວມທັງສະຕະວັດ.

%Z ເຂດເວລາ (ເຊັ່ນ: EDT), ຫຼືບໍ່ມີຫຍັງ ຖ້າບໍ່ແມ່ນເຂດເວລາແມ່ນກຳນົດໄດ້.

%% A ຕົວໜັງສື '%' ຕົວອັກສອນ.

ດີບັກ (ສະຕຣິງ)
If sqsh ໄດ້ຖືກລວບລວມດ້ວຍການເປີດໃຊ້ການດີບັກ (-DDEBUG), ຕົວແປນີ້ອາດຈະຖືກນໍາໃຊ້
ເພື່ອຄວບຄຸມປະລິມານຂອງຜົນການດີບັກທີ່ສະແດງ. $debug ອາດຈະຖືກຕັ້ງເປັນທໍ່ (|)
delimited (ຢ່າງມີເຫດຜົນ OR) ຊຸດຂອງຄໍາຕໍ່ໄປນີ້ເພື່ອເປີດຕ່ອນຕ່າງໆຂອງ
ການດີບັກ: ALIAS, AVL, BCP, DISPLAY, ENV, ERROR, ການຂະຫຍາຍ, FD, JOB, READLINE (abbr. RL),
CPR, ໜ້າ ຈໍ, SIG, SIGCHLD (ຫຼື SIGCLD) ຫຼື ທັງຫມົດ.

defer_bg (boolean)
ໂດຍປົກກະຕິ, ເມື່ອວຽກຖືກແລ່ນຢູ່ໃນພື້ນຫຼັງ (ຜ່ານ '&' ໃນເສັ້ນຄໍາສັ່ງ),
ຜົນຜະລິດຂອງວຽກຖືກເລື່ອນໄປເປັນໄຟລ໌ຊົ່ວຄາວ (ຕັ້ງຢູ່ໃນ $tmp_dir) ຈົນ​ກ​່​ວາ​ຜູ້​ໃຊ້​
ຮ້ອງ​ຂໍ​ໃຫ້​ຜົນ​ຜະ​ລິດ​ທີ່​ຈະ​ສະ​ແດງ​ໂດຍ​ນໍາ​ໃຊ້​ \ ສະແດງ ວຽກເຮັດ. ດ້ວຍວິທີນີ້, ຜົນໄດ້ຮັບຂອງວຽກ
ຈະບໍ່ແຊກແຊງສິ່ງທີ່ຜູ້ໃຊ້ກໍາລັງເຮັດ. ຕັ້ງຄ່າຕົວແປນີ້ເປັນເຈດຕະນາຜິດ
ສົ່ງ​ຜົນ​ໃຫ້​ບໍ່​ມີ​ໄຟລ​໌​ຜົນ​ຜະ​ລິດ​ເລື່ອນ​ໄດ້​ຖືກ​ສ້າງ​ຕັ້ງ​ຂຶ້ນ​ແລະ​ຜົນ​ຜະ​ລິດ​ທີ່​ສົ່ງ​ໄປ​ທີ່​ຫນ້າ​ຈໍ​
ທັນທີ

ສຽງດັງ (boolean)
ການຕັ້ງຄ່າ $echo to on (1) ເຮັດໃຫ້ແຕ່ລະຄໍາສັ່ງສົ່ງກັບຖານຂໍ້ມູນໂດຍຜ່ານ \ ໄປ
ຄໍາສັ່ງທີ່ຈະສະແດງກ່ອນຜົນໄດ້ຮັບ. ຕົວແປນີ້ເລີ່ມຕົ້ນເປັນ 0 (ຫຼືປິດ), ແລະ
ອາດຈະຖືກຕັ້ງໂດຍໃຊ້ -e ຕົວເລືອກເສັ້ນທາງຄໍາສັ່ງ.

ການເຂົ້າລະຫັດ (ບູລີນ)
ການຕັ້ງຄ່າ $encryption ຕົວປ່ຽນແປງກ່ອນທີ່ຈະສ້າງການເຊື່ອມຕໍ່ກັບເຄື່ອງແມ່ຂ່າຍຈະ
ເຮັດໃຫ້ການເຊື່ອມຕໍ່ເຂົ້າສູ່ລະບົບຖືກເລີ່ມຕົ້ນໂດຍໃຊ້ການເຂົ້າລະຫັດລັບຂອງຝ່າຍລູກຄ້າ. ນີ້
ຕົວແປອາດຈະຖືກຕັ້ງຄ່າໂດຍໃຊ້ -X ຕົວເລືອກເສັ້ນທາງຄໍາສັ່ງ.

exit_failcount (boolean)
ຕັ້ງຄ່ານີ້ເປັນ 1 ສາເຫດ sqsh ເພື່ອກັບຄືນສະຖານະພາບທາງອອກຂອງ $batch_failcount
ແທນທີ່ຈະເປັນ 0, ເມື່ອການຢຸດເຊົາບໍ່ມີຄວາມຜິດພາດ. ເບິ່ງ ອອກ STATUS ສໍາລັບລາຍລະອຽດ. ຄ່າເລີ່ມຕົ້ນ
ຄ່າແມ່ນ 0.

exit_value (int)
ເມື່ອທ່ານອອກຈາກ sqsh ໂດຍການລະບຸລະຫັດອອກ, ເຊັ່ນ: \ ອອກ 3 ຫຼື​ການ​ນໍາ​ໃຊ້​ຫນຶ່ງ​ໃນ​
alias ການທ່ອງທ່ຽວ or ເຊົາ ຄໍາສັ່ງ, ຫຼັງຈາກນັ້ນຄ່ານີ້ຖືກມອບຫມາຍໃຫ້ $exit_value
ຕົວແປ. ນອກນັ້ນທ່ານຍັງສາມາດກໍານົດຄ່າໂດຍໃຊ້ \ ຕັ້ງ ຄໍາສັ່ງ. ເມື່ອ sqsh ກໍານົດ
ຕົວແປນີ້ມີມູນຄ່າທີ່ບໍ່ແມ່ນສູນໃນລະຫວ່າງການສິ້ນສຸດ, ຄ່ານີ້ຈະຖືກໃຊ້ເປັນທາງອອກ
ລະຫັດ. ເບິ່ງ ອອກ STATUS ສໍາລັບລາຍລະອຽດ.

ຂະຫຍາຍ (ບູລີນ)
ໂດຍຄ່າເລີ່ມຕົ້ນໃນເວລາທີ່ \ ໄປ ຄໍາສັ່ງຖືກປະຕິບັດ, ເນື້ອໃນຂອງ buffer ການເຮັດວຽກໃນປະຈຸບັນ
ແມ່ນຂະຫຍາຍຕົວແປສະພາບແວດລ້ອມທັງຫມົດກ່ອນທີ່ຈະຖືກສົ່ງໄປຫາຖານຂໍ້ມູນສໍາລັບ
ການ​ປະ​ຕິ​ບັດ​. ໂດຍການຕັ້ງຄ່າຕົວແປນີ້ເປັນ "0", ບັຟເຟີຈະບໍ່ຖືກຂະຫຍາຍອີກຕໍ່ໄປ
ກ່ອນທີ່ຈະຖືກສົ່ງໄປຫາຖານຂໍ້ມູນ. ອັນນີ້ເປັນປະໂຫຍດເມື່ອທ່ານ (1) ມີສາຍເຂົ້າ
buffer ທີ່ປະກອບດ້ວຍ '$' ແລະທ່ານບໍ່ຕ້ອງການໃຫ້ເຂົາເຈົ້າໄດ້ຮັບການຂະຫຍາຍ, ຫຼື (2) ສໍາລັບ
ເຫດຜົນການປະຕິບັດ; ມັນໃຊ້ເວລາ (ແລະສໍາເນົາເພີ່ມເຕີມຂອງ buffer) ເພື່ອປະຕິບັດ
ການ​ຂະ​ຫຍາຍ​ຕົວ​ປ່ຽນ​ແປງ​.

ການກັ່ນຕອງ (ບູລີນ)
ສະຫຼັບການກັ່ນຕອງຂອງ SQL batch ຜ່ານໂຄງການພາຍນອກ (ກໍານົດໂດຍ
$filter_prog variable, ຂ້າງລຸ່ມນີ້) ກ່ອນທີ່ຈະຖືກສົ່ງໄປຫາ SQL Server. ຄ່າເລີ່ມຕົ້ນແມ່ນ '0',
ຫຼື 'ປິດ'.

filter_prog (string)
ກໍານົດໂຄງການພາຍນອກໂດຍຜ່ານ SQL batch ຈະຖືກກັ່ນຕອງກ່ອນ
ຖືກສົ່ງໄປຫາ SQL Server. ຕົວແປນີ້ຖືກລະເລີຍຖ້າ $filter ຖືກຕັ້ງເປັນ '0' ຫຼື
'ປິດ'. ຄ່າເລີ່ມຕົ້ນແມ່ນ 'm4 -'.

ເລື່ອນ (float-format)
ກຳນົດຮູບແບບການສະແດງຜົນ (ຄວາມຊັດເຈນ ແລະຂະໜາດ) ສຳລັບຄ່າຈຸດລອຍທັງໝົດ
ສະແດງໂດຍ sqsh. ຄ່າເລີ່ມຕົ້ນແມ່ນ '18.6'. ຈື່ໄວ້ວ່າຄ່າເກີນກຳນົດ
ຄວາມແມ່ນຍໍາບໍ່ໄດ້ຖືກຕັດ, ດັ່ງນັ້ນການກໍານົດຄ່ານີ້ຕໍ່າເກີນໄປອາດຈະເຮັດໃຫ້ຖັນໃນ a
ຜົນໄດ້ຮັບຖືກຕັ້ງໃຫ້ບໍ່ສອດຄ່ອງ.

ສ່ວນທ້າຍ (ບູລີນ)
ສະຫຼັບ "(%d ແຖວໄດ້ຮັບຜົນກະທົບ)" ຫຼັງຈາກຊຸດຜົນໄດ້ຮັບ. ຄ່າເລີ່ມຕົ້ນຂອງຕົວແປນີ້
ແມ່ນ '1'.

ສ່ວນຫົວ (ບູລີນ)
ສະຫຼັບສ່ວນຫົວຖັນກ່ອນໜ້າຊຸດຜົນໄດ້ຮັບ. ຄ່າເລີ່ມຕົ້ນຂອງຕົວແປນີ້ແມ່ນ
'1'.

help_dir (ເສັ້ນທາງ)
ນີ້ແມ່ນສະຖານທີ່ຂອງໄຟລ໌ການຊ່ວຍເຫຼືອທີ່ນໍາໃຊ້ໂດຍ \ ຊ່ວຍ​ເຫຼືອ ຄໍາສັ່ງ, ປົກກະຕິແລ້ວມັນ
ຄ່າເລີ່ມຕົ້ນຂອງບາງສິ່ງບາງຢ່າງເຊັ່ນ: /usr/local/lib/sqsh/help.

hist_auto_save (int)
ເມື່ອມີການປ່ຽນແປງ $histave ແມ່ນຢູ່ແລະ $hist_auto_save ຕົວແປມີຄ່າຫຼາຍກວ່າ
ຫຼາຍກວ່າ 0, ຫຼັງຈາກນັ້ນ, ປະຫວັດຈະຖືກບັນທຶກໄວ້ໂດຍອັດຕະໂນມັດ $ປະຫວັດສາດ ຫຼັງຈາກ $hist_auto_save
ການ​ດັດ​ແກ້​ຂອງ​ບັນ​ທຶກ​ປະ​ຫວັດ​ສາດ​. ເມື່ອຄ່າແມ່ນ 0 (ຄ່າເລີ່ມຕົ້ນ), ຫຼັງຈາກນັ້ນບໍ່ມີອັດຕະໂນມັດ
ບັນທຶກປະຫວັດສາດຈະຖືກປະຕິບັດ.

histnum (int)
ປະກອບມີຈໍານວນປະຫວັດສາດທີ່ຈະຖືກມອບຫມາຍໃຫ້ຊຸດຄໍາສັ່ງໃນປະຈຸບັນໃນທັນທີ
ເປັນ \ ໄປ ຄໍາສັ່ງຖືກປະຕິບັດ. ຕົວແປນີ້ຄວນຈະຖືກພິຈາລະນາອ່ານເທົ່ານັ້ນ. ເບິ່ງນຳ
ການສົນທະນາກ່ຽວກັບ $histunique ຕົວແປ.

ປະຫວັດສາດ (ເສັ້ນທາງ)
ນີ້ແມ່ນສະຖານທີ່ຂອງໄຟລ໌ປະຫວັດສາດທີ່ໃຊ້ໃນການເກັບຮັກສາ ແລະດຶງຂໍ້ມູນປະຫວັດຂອງຜູ້ໃຊ້
ໃນ​ລະ​ຫວ່າງ​ການ​ເລີ່ມ​ຕົ້ນ​ແລະ​ການ​ປິດ​. ນີ້ເປັນຄ່າເລີ່ມຕົ້ນທີ່ຈະ $HOME/.sqsh_history. ຕົວແປນີ້ແມ່ນ
ຂະຫຍາຍແຕ່ລະຄັ້ງທີ່ມັນຖືກອ້າງອີງໂດຍ sqsh, ຫຼາຍໃນແບບດຽວກັນ $prompt is
ອ້າງອີງແຕ່ລະຄັ້ງທີ່ການເຕືອນຖືກສະແດງ.

history_shorthand (ບູລີນ)
ຕົວແປນີ້ມີຄວາມຫມາຍພຽງແຕ່ພາຍໃນກອງປະຊຸມແບບໂຕ້ຕອບ. ຖ້າຕັ້ງ, ມັນຈະເປີດ
ຄວາມ​ສາ​ມາດ​ທີ່​ຈະ​ຕໍ່​ທ້າຍ​ບັຟ​ເຟີ​ຫຼື​ປະ​ຫວັດ​ສາດ​ທີ່​ມີ​ຊື່​ເຂົ້າ​ໄປ​ໃນ buffer ການ​ເຮັດ​ວຽກ​ໃນ​ປັດ​ຈຸ​ບັນ​
ໃນຮູບແບບປະຫວັດສາດ 'sh' ເຊັ່ນ '!40'. ຈົ່ງລະມັດລະວັງກັບຄຸນສົມບັດນີ້, sqsh ບໍ່​ແມ່ນ
ສະຫລາດຫຼາຍກັບການຊອກຫາປະຫວັດສາດ shorthand, ສະນັ້ນມັນເປັນໄປໄດ້
ໄດ້ຮັບຄວາມສັບສົນ (ເຖິງແມ່ນວ່າ, ມັນສະຫລາດພໍທີ່ຈະບໍ່ສົນໃຈ !'s ໃນສາຍທີ່ອ້າງອີງ).

histsave (ບູລີນ)
ຄ່າຂອງຕົວແປນີ້ຖືກນໍາໃຊ້ໂດຍ sqsh ເພື່ອຊີ້ບອກວ່າປະຫວັດສາດຄວນຈະເປັນ
ບັນທຶກໃສ່ $ປະຫວັດສາດ ກ່ອນທີ່ຈະຢຸດເຊົາການ sqsh.

histsize (int)
ຄ່າຂອງຕົວແປນີ້ຖືກນໍາໃຊ້ເພື່ອປ່ຽນແປງຈໍານວນສູງສຸດຂອງລາຍການປະຫວັດສາດ
ຮັກສາໂດຍ sqsh (ຄ່າເລີ່ມຕົ້ນແມ່ນ 10). ໃຫ້ສັງເກດວ່າການຫຼຸດລົງມູນຄ່າຂອງສິ່ງນີ້
ຕົວແປເຮັດໃຫ້ບາງລາຍການປະຫວັດສາດສູນເສຍໄປ.

histunique (ບູລີນ)
ຖ້າຕັ້ງ, sqsh ຮັກສາຄໍາສັ່ງ MRU-LRU ຂອງ buffers ທີ່ຖືກປະຕິບັດແລະບໍ່ເກັບຮັກສາ
duplicate buffers ຄໍາ​ສັ່ງ​. ຕົວຢ່າງ, ໃຫ້ສັງເກດສະຖານະການຕໍ່ໄປນີ້:

LINUX1502.user1.master.1> \ ປະຫວັດ
(1) sp_who
(2) ໃຫ້ບົດບາດ mon_role ກັບ sa_role
(3) ເລືອກ * ຈາກ monProcessActivity
(4) ເລືອກ @@authmech,show_sec_services()
(5) ເລືອກ @@servername,@@authmech,show_sec_services()
LINUX1502.user1.master.1> sp_who
LINUX1502.user1.master.2> ໄປ
... ປ່ອຍອອກຜົນຜະລິດ
LINUX1502.user1.master.1> \ ປະຫວັດ
(1) ໃຫ້ບົດບາດ mon_role ກັບ sa_role
(2) ເລືອກ * ຈາກ monProcessActivity
(3) ເລືອກ @@authmech,show_sec_services()
(4) ເລືອກ @@servername,@@authmech,show_sec_services()
(5) sp_who

sp_who ແມ່ນຄໍາສັ່ງປະຕິບັດສຸດທ້າຍແລະ buffer - ເດີມແມ່ນສຸດທ້າຍໃນບັນຊີລາຍຊື່ -
ຕອນນີ້ຢູ່ເທິງສຸດຂອງບັນຊີລາຍຊື່. ເມື່ອ buffer ທີ່ມີຢູ່ແລ້ວຖືກນໍາມາໃຊ້ໃຫມ່, ຄ່າຂອງ
$histnum ຕົວແປບໍ່ມີການປ່ຽນແປງ.

ຊື່ເຈົ້າພາບ (ສະຕຣິງ)
ໃຊ້ໃນລະຫວ່າງຂະບວນການເຊື່ອມຕໍ່ເພື່ອຊີ້ບອກກັບ SQL Server ຊື່ຂອງເຈົ້າພາບຈາກ
ທີ່ sqsh ກໍາລັງເຊື່ອມຕໍ່. ຕົວແປນີ້ອາດຈະຖືກຕັ້ງໂດຍໃຊ້ -H ທຸງ.

ifs (string)
ບັນຊີລາຍຊື່ຂອງຕົວແຍກພາກສະຫນາມພາຍໃນ.

ບໍ່ສົນໃຈ (ບູລີນ)
ໂດຍຕົວຢ່າງ, sqsh ຢຸດຖ້າຜູ້ໃຊ້ກົດ ^d (control-D) ໃນແຖວຫວ່າງເປົ່າ ແລະ
ສະຫນັບສະຫນູນ readline ແມ່ນລວບລວມຢູ່ໃນ. ຖ້າ $ignoreof ຖືກກໍານົດໄວ້ໃນໄຟລ໌ sqshrc ທີ່ທ່ານໄດ້ຮັບ a
ຂໍ້ຄວາມເຕືອນແທນ:

CTRL-D: ໃຊ້ "ອອກ" ຫຼື "ອອກ" ເພື່ອອອກຈາກ sqsh shell.

ນີ້ແມ່ນເທົ່າກັບການໃຊ້ "set -o ignoreeof" ໃນ bash shell.

ໂຕ້ຕອບ (ບູລີນ)
ນີ້ແມ່ນຕົວແປທີ່ໃຊ້ພາຍໃນ ແລະອາດຈະບໍ່ຖືກປ່ຽນແປງໂດຍຜູ້ໃຊ້. ຖ້າ
$interactive ແມ່ນ '0', ຫຼັງຈາກນັ້ນການເຕືອນຈະບໍ່ສະແດງ, ປະຫວັດສາດແມ່ນບໍ່ໄດ້ອ່ານຫຼື
ລາຍລັກອັກສອນແລະບາງຂໍ້ຄວາມຜູ້ໃຊ້ຖືກສະກັດກັ້ນ.

ອິນເຕີເຟດ (ເສັ້ນທາງ)
ນີ້ແມ່ນຊື່ເສັ້ນທາງເຕັມຂອງໄຟລ໌ການໂຕ້ຕອບ, ມັນຕັ້ງໄວ້ໃນຕອນຕົ້ນ $SYBASE/ການໂຕ້ຕອບ.

keytab_file (string)
ໃຊ້ໃນກົນໄກຄວາມປອດໄພການພິສູດຢືນຢັນຜູ້ໃຊ້ຂອງ Kerberos ແລະ DCE. ສອດຄ້ອງກັບ
-K ທາງ​ເລືອກ​ການ​ເລີ່ມ​ຕົ້ນ​.

ເບິ່ງການສົນທະນາກ່ຽວກັບການສະຫນັບສະຫນູນ Kerberos.

keyword_completion (int/string)
ຕົວແປນີ້ໃຊ້ພຽງແຕ່ຖ້າການສະຫນັບສະຫນູນ GNU Readline ໄດ້ຖືກລວບລວມເຂົ້າໃນ sqsh.
$keyword_completion ຖືກນໍາໃຊ້ເພື່ອຄວບຄຸມຄຸນສົມບັດການສໍາເລັດຄໍາຫລັກ TSQL ໃນ
readline, ແລະ​ອາດ​ຈະ​ໄດ້​ຮັບ​ການ​ກໍາ​ນົດ​ໂດຍ​ການ​ນໍາ​ໃຊ້​ຈໍາ​ນວນ​ເຕັມ​ລະ​ຫວ່າງ 0 ແລະ 4, ຫຼື​ຫນຶ່ງ​ໃນ
strings none, ຕ່ໍາ, ເທິງ, smart, ຫຼື ຢ່າງແທ້ຈິງ. ຖ້າມັນຖືກຕັ້ງເປັນ 0 ຫຼື none, ຫຼັງຈາກນັ້ນບໍ່ມີ
ການສໍາເລັດຄໍາຫລັກແມ່ນປະຕິບັດ (ນີ້ແມ່ນຄ່າເລີ່ມຕົ້ນ). ຕ່ໍາ ຫຼື 1, ສາເຫດ sqsh to
ເຮັດສໍາເລັດຄໍາສໍາຄັນໃນຕົວພິມນ້ອຍ, ບໍ່ວ່າຈະເປັນກໍລະນີທີ່ສໍາເລັດບາງສ່ວນ
ຄໍາສໍາຄັນໄດ້ຖືກພິມ. ເທິງ ຫຼື 2 ບັງຄັບໃຫ້ສໍາເລັດໃນກໍລະນີເທິງ, smart,
ຫຼື 3, ອີງໃສ່ການຕັດສິນໃຈກ່ຽວກັບກໍລະນີຕາມລັກສະນະທໍາອິດຂອງຄໍາຫລັກບາງສ່ວນ, ແລະ
ຢ່າງແທ້ຈິງ ສໍາເລັດຄໍາສໍາຄັນໃນກໍລະນີດຽວກັນກັບທີ່ກໍານົດໄວ້ໃນ .sqsh_words
(ສໍາລັບຄໍາທີ່ໃຊ້ TSQL ທີ່ສ້າງຂຶ້ນ, ນີ້ຈະເປັນກໍລະນີຕ່ໍາ).

keyword_file (string)
ຖ້າ​ຫາກ​ວ່າ readline ສະ​ຫນັບ​ສະ​ຫນູນ​ໄດ້​ຮັບ​ການ​ສັງ​ລວມ​ເຂົ້າ​ໄປ​ໃນ​ sqsh, ແລະ sqsh ກໍາລັງດໍາເນີນການໃນການໂຕ້ຕອບ
ຮູບແບບ, ເນື້ອໃນຂອງໄຟລ໌ນີ້ຖືກນໍາໃຊ້ສໍາລັບການສໍາເລັດແຖບຄໍາຫລັກໂດຍ readline ແທນທີ່ຈະ
ກ່ວາຊຸດເລີ່ມຕົ້ນຂອງຄໍາທີ່ໃຊ້ syntactical TSQL. ຄ່າເລີ່ມຕົ້ນແມ່ນ $HOME/.sqsh_words.

ພາສາ
ໄດ້ $language ຕົວແປໄດ້ຖືກນໍາໃຊ້ໃນຂະນະທີ່ການສ້າງຕັ້ງການເຊື່ອມຕໍ່ກັບເຄື່ອງແມ່ຂ່າຍທີ່ຈະ
ລະບຸພາສາແຫ່ງຊາດທີ່ໃຊ້ເພື່ອສະແດງການເຕືອນລະບົບ ແລະຂໍ້ຄວາມ. ໄດ້
ຕົວແປຈະຕິດຕາມການຕັ້ງຄ່າພາສາປະຈຸບັນຂອງເຊີບເວີໂດຍອັດຕະໂນມັດ. ນີ້ອາດຈະ
ຍັງຖືກຕັ້ງໂດຍຜ່ານ -z ທຸງ.

lineno (int)
ນີ້ແມ່ນຕົວແປພາຍໃນແລະບໍ່ຄວນຖືກດັດແປງໂດຍຜູ້ໃຊ້. ມັນຖືກນໍາໃຊ້ເພື່ອ
ຮັກສາໝາຍເລກແຖວທີ່ກຳລັງຖືກພິມໃສ່ພາຍໃນ buffer ວຽກປະຈຸບັນ.

ເສັ້ນ
ໃຊ້ເພື່ອກຳນົດຄ່າຕົວຂັ້ນເສັ້ນສຳລັບຮູບແບບການສະແດງຜົນແນວນອນ, ອັນນີ້ແມ່ນຄ່າເລີ່ມຕົ້ນ
ເຖິງ "\n\t".

ລັອກ (ສະຕຣິງ/ຂຽນເທົ່ານັ້ນ)
ກໍານົດລະຫັດຜ່ານທີ່ຈະຖືກນໍາໃຊ້ໂດຍ \ ລັອກ ຄໍາສັ່ງ. ຖ້າບໍ່ໄດ້ຕັ້ງ ຫຼືຕັ້ງເປັນສະຕຣິງ
"NULL", ຫຼັງຈາກນັ້ນລະຫັດຜ່ານ UNIX ຂອງຜູ້ໃຊ້ເຮັດວຽກ sqsh ຖືກນໍາໃຊ້ແທນ (ຖ້າເປັນໄປໄດ້).
ໃຫ້ສັງເກດວ່າ $lock ສະເຫມີຈະຂະຫຍາຍໄປຫາສະຕຣິງ "*lock*" ຖ້າອ້າງອີງ.

login_timeout (int)
ຈຳນວນວິນາທີທີ່ຈະລໍຖ້າເມື່ອພະຍາຍາມສ້າງການເຊື່ອມຕໍ່ໃໝ່ກັບຂໍ້ມູນ
ເຊີບເວີ. ຄ່າເລີ່ມຕົ້ນແມ່ນ 0 (ລໍຖ້າບໍ່ມີຂອບເຂດ). ເບິ່ງຍັງ -T ຕົວເລືອກເສັ້ນທາງຄໍາສັ່ງ.

max_timeout (int)
ຄວບຄຸມຈໍານວນເວລາທີ່ການສອບຖາມຕ້ອງການເພື່ອບັນລຸມູນຄ່າການຫມົດເວລາຂອງມັນກ່ອນທີ່ຈະ
ເຊດຊັນຖືກຍົກເລີກ. ເບິ່ງ $query_timeout ແລະ -Q ທຸງແຖວຄໍາສັ່ງ. ຕໍ່ໄປນີ້
ຂໍ້ຄວາມຈະຖືກສະແດງແລະອອກ sqsh ດ້ວຍຄ່າ 255 ເມື່ອ $max_ໝົດເວລາ ກໍານົດຂອບເຂດ
ແມ່ນບັນລຸໄດ້.

ກວດພົບການໝົດເວລາການສອບຖາມ ຫຼືຄຳສັ່ງ, ເຊດຊັນຖືກຍົກເລີກ
ການເຊື່ອມຕໍ່ລູກຄ້າໄດ້ກວດພົບເວລາ x ນີ້
ຍົກເລີກຕາມຂີດຈຳກັດ max_timeout

maxlen (int)
ຄວບຄຸມຈໍານວນຂໍ້ມູນສູງສຸດທີ່ຈະສະແດງ (ໃນທຸກຮູບແບບການສະແດງ) ໃນ a
ຖັນດຽວ. ການຕັ້ງຄ່ານີ້ຈະຕັດຜົນຜະລິດໂດຍສະເພາະ
ປະເພດຂໍ້ມູນຂະຫນາດໃຫຍ່ (ເຊັ່ນ: TEXT) ກັບຄ່າທີ່ສະຫນອງ. ການຕັ້ງຄ່າເລີ່ມຕົ້ນແມ່ນ 8192
bytes (8KB).

newline_go (ບູລີນ)
ທຸງນີ້ຖືກນໍາໃຊ້ເປັນ kludge horrible ເພື່ອສະຫນັບສະຫນູນນາມແຝງ "ຫວ່າງເປົ່າ" ສໍາລັບ \ ໄປ
ຄໍາສັ່ງ, ນັ້ນແມ່ນ, ເທົ່າກັບການສະຫນອງ "-c''" ຫຼືພຽງແຕ່ "-c" ໃນຄໍາສັ່ງ.
ສາຍ. ເມື່ອເປີດ, ເສັ້ນຫວ່າງຖືກຕີຄວາມໝາຍວ່າເປັນການໂທໄປຫາ \ ໄປ ຄໍາສັ່ງ. ຄຸນນະສົມບັດນີ້
ບໍ່ໄດ້ຖືກແນະ ນຳ ແຕ່ຖືກສະ ໜອງ ເພື່ອຄວາມສົມບູນ.

output_parms (boolean)
ທຸງທີ່ໃຊ້ເພື່ອເປີດໃຊ້ງານ ຫຼືປິດການສະແດງຜົນຂອງພາລາມິເຕີຜົນໄດ້ຮັບຊຸດຈາກເກັບໄວ້
ຂັ້ນ​ຕອນ​ການ. ຄ່າເລີ່ມຕົ້ນແມ່ນເພື່ອເປີດໃຊ້ການສະແດງຜົນ.

packet_size (int)
ກຳນົດຂະໜາດຂອງແພັກເກັດ TDS ທີ່ໃຊ້ເພື່ອສື່ສານກັບ SQL. ການປ່ຽນແປງມູນຄ່າ
ຂອງຕົວແປຈະບໍ່ສົ່ງຜົນກະທົບຕໍ່ການເຊື່ອມຕໍ່ໃນປະຈຸບັນແຕ່ຈະມີຜົນຕໍ່
ຕໍ່ໄປ \ ເຊື່ອມຕໍ່ຄືນໃໝ່ ຄໍາສັ່ງ. ການລະບຸຄ່າຂອງ NULL ສະແດງໃຫ້ເຫັນວ່າແພັກເກັດເລີ່ມຕົ້ນ
ຂະ​ຫນາດ​ແມ່ນ​ຕ້ອງ​ການ​.

ລະຫັດຜ່ານ (string/write-only)
ນີ້ແມ່ນລະຫັດຜ່ານປັດຈຸບັນຂອງຜູ້ໃຊ້. ລະຫັດ NULL ອາດຈະຖືກມອບໝາຍໂດຍໃຊ້ explicit
ສະຕຣິງ "NULL". ສໍາລັບເຫດຜົນດ້ານຄວາມປອດໄພ, ເມື່ອອ້າງອີງເຖິງ $password ຈະປ່ຽນແປງໄດ້
ຂະຫຍາຍໄປຫາສະຕຣິງ "*ລະຫັດຜ່ານ*".

password_retry (boolean)
ເມື່ອຕົວແປເປີດຢູ່ ແລະ sqsh ເລີ່ມຕົ້ນໃນຮູບແບບການໂຕ້ຕອບ, sqsh ຈະຮ້ອງຂໍໃຫ້ມີ
ລະຫັດຜ່ານອີກເທື່ອຫນຶ່ງຖ້າເຂົ້າສູ່ລະບົບລົ້ມເຫລວ. ເມື່ອຕັ້ງເປັນ 'ປິດ', sqsh ຈະຢຸດທັນທີ.
ເລີ່ມຕົ້ນ.

ຫຼັກ (ສາຍ)
ໃຊ້ໃນການກວດສອບຜູ້ໃຊ້ Kerberos ເປັນຊື່ຫຼັກຂອງເຊີບເວີ ເມື່ອມັນແຕກຕ່າງຈາກ
ໄດ້ $DSQUERY ຊື່. ສອດຄ້ອງກັບ -R ທາງ​ເລືອກ​ການ​ເລີ່ມ​ຕົ້ນ​.

ເບິ່ງການສົນທະນາກ່ຽວກັບການສະຫນັບສະຫນູນ Kerberos.

prompt (string)
ຕົວແປນີ້ຖືກນໍາໃຊ້ໂດຍ sqsh ເພື່ອສ້າງການກະຕຸ້ນປະຈຸບັນຂອງທ່ານ. ມີຕົວແປໃດນຶ່ງ
ພາຍໃນ $prompt ຈະຖືກຂະຫຍາຍອອກໃນແຕ່ລະຄັ້ງທີ່ສະແດງການເຕືອນ. ຄ່າເລີ່ມຕົ້ນສໍາລັບ
ນີ້ແມ່ນ '${lineno}> '. ເບິ່ງບົດສົນທະນາກ່ຽວກັບການສະຫນັບສະຫນູນສີຂ້າງລຸ່ມນີ້.

prompt2 (string)
ເນື້ອໃນຂອງການເຕືອນນີ້ໄດ້ຖືກຂະຫຍາຍແລະສະແດງໃນລະຫວ່າງການໃຊ້ແບບໂຕ້ຕອບເມື່ອ
sqsh ຕ້ອງການການປ້ອນຂໍ້ມູນເພີ່ມເຕີມ, ເຊັ່ນ: ໃນລະຫວ່າງການສືບຕໍ່ສາຍ. ຄ່າເລີ່ມຕົ້ນ
ແມ່ນ '--> '.

query_timeout (int)
ຈຳນວນວິນາທີທີ່ຈະລໍຖ້າການສອບຖາມເພື່ອສົ່ງຄືນຂໍ້ມູນ. ຖ້າ​ຫາກ​ວ່າ​ຫມົດ​ເວ​ລາ​ແມ່ນ​ບັນ​ລຸ​ໄດ້​
ການສອບຖາມຖືກຍົກເລີກ (ຍົກເລີກ). ເບິ່ງນຳ $max_ໝົດເວລາ ແລະ -Q ຕົວເລືອກເສັ້ນທາງຄໍາສັ່ງ.

rcfile (ເສັ້ນທາງ)
ປະກອບມີຈໍ້າສອງເມັດ (:) ບັນຊີລາຍຊື່ຂອງໄຟລ໌ sqsh resource (sqshrc). ຄ່າເລີ່ມຕົ້ນ
ການຕັ້ງຄ່າແມ່ນ /etc/sqshrc ຕິດຕາມດ້ວຍ $HOME/.sqshrc).

readline_history (string)
ຖ້າ​ຫາກ​ວ່າ readline ສະ​ຫນັບ​ສະ​ຫນູນ​ໄດ້​ຮັບ​ການ​ສັງ​ລວມ​ເຂົ້າ​ໄປ​ໃນ​ sqsh, ເນື້ອໃນຂອງແຖວອ່ານຕໍ່-
ປະຫວັດເສັ້ນຈະຖືກຂຽນໃສ່ໄຟລ໌ທີ່ລະບຸໄວ້ໂດຍ $readline_history ຕົວແປ.
ຄ່າເລີ່ມຕົ້ນແມ່ນ $HOME/.sqsh_readline.

readline_histsize (int)
ຖ້າ​ຫາກ​ວ່າ readline ສະ​ຫນັບ​ສະ​ຫນູນ​ໄດ້​ຮັບ​ການ​ສັງ​ລວມ​ເຂົ້າ​ໄປ​ໃນ​ sqsh, ມູນຄ່າຂອງ $readline_histsize
ລະບຸຈໍານວນແຖວທີ່ບັນທຶກໄວ້ໃນປະຫວັດການອ່ານແຖວຕໍ່ແຖວ.
ການຕັ້ງຄ່ານີ້ເປັນຄ່າ 0 ເຮັດໃຫ້ທຸກເສັ້ນຖືກບັນທຶກ. ຄ່າເລີ່ມຕົ້ນແມ່ນ 100.

ແທ້ (ຮູບແບບເລື່ອນ)
ກໍານົດຮູບແບບການສະແດງ (ຄວາມແມ່ນຍໍາແລະຂະຫນາດ) ສໍາລັບມູນຄ່າທີ່ແທ້ຈິງທັງຫມົດທີ່ສະແດງໂດຍ
sqsh. ຄ່າເລີ່ມຕົ້ນແມ່ນ '18.6'. ໃຫ້ສັງເກດວ່າຄ່າທີ່ເກີນຄວາມແມ່ນຍໍາທີ່ກໍານົດບໍ່ແມ່ນ
ຖືກຕັດສັ້ນລົງ, ດັ່ງນັ້ນການຕັ້ງຄ່ານີ້ຕໍ່າເກີນໄປອາດເຮັດໃຫ້ຖັນໃນຊຸດຜົນລັບຖືກພາດ.
ສອດຄ່ອງ.

repeat_batch (boolean)
ເມື່ອຕັ້ງຄ່າ On or ທີ່ແທ້ຈິງ, ເປັນ \ ໄປ ປະຕິບັດດ້ວຍການຫວ່າງເປົ່າ SQL Buffer ຈະເຮັດໃຫ້ເກີດການ
batch ທີ່​ຜ່ານ​ມາ​ທີ່​ຈະ​ປະ​ຕິ​ບັດ​ຄືນ​ໃຫມ່​.

secmech (string)
ຊື່ຂອງກົນໄກຄວາມປອດໄພທີ່ໃຊ້ສໍາລັບການກວດສອບຜູ້ໃຊ້. ຕົວຢ່າງ csfkrb5.
ເມື່ອ ນຳ ໃຊ້ -Z ທາງເລືອກ, ຊື່ຂອງກົນໄກຄວາມປອດໄພສາມາດຖືກກໍານົດ, ຫຼືເວລາໃດ
ບໍ່ມີ secech ໄດ້ຖືກສະຫນອງ, OpenClient ຈະໃຊ້ຄ່າເລີ່ມຕົ້ນ, ie ຄວາມປອດໄພທໍາອິດ
ເຂົ້າຈາກ $SYBASE/$SYBASE_OCS/config/libtcl.cfg ໄຟລ໌. ໃຫ້ສັງເກດວ່າຊື່ທີ່ໃຊ້
ຕ້ອງກົງກັບຊື່ຂອງລາຍການ secmech ທີ່ສອດຄ້ອງກັນໃນ objectid.dat ໄຟລ໌. ເມື່ອ​ໃດ​
ການ​ເຊື່ອມ​ຕໍ່​ກັບ​ເຄື່ອງ​ແມ່​ຂ່າຍ​ແມ່ນ​ໄດ້​ຮັບ​ການ​ຕັ້ງ​ຄ່າ​, ຊື່ secech ຕົວ​ຈິງ​ຈະ​ໄດ້​ຮັບ​ການ​ເກັບ​ຮັກ​ສາ​ໄວ້​ໃນ​
$secmech ຕົວແປ.

secure_options (string)
ອະທິບາຍຕົວເລືອກຄວາມປອດໄພທີ່ໃຊ້ສໍາລັບກົນໄກຄວາມປອດໄພການພິສູດຢືນຢັນຜູ້ໃຊ້.
ສອດຄ້ອງກັບ -V ທາງ​ເລືອກ​ການ​ເລີ່ມ​ຕົ້ນ​.

ເບິ່ງວັກກ່ຽວກັບການສະຫນັບສະຫນູນ Kerberos.

script (string)
If sqsh ແມ່ນດໍາເນີນການໂດຍໃຊ້ -i ທຸງ, ຈາກນັ້ນຕົວແປນີ້ມີຊື່ຂອງສະຄຣິບ
ຖືກປະຕິບັດ.

semicolon_cmd (string)
ເມື່ອ​ໃດ​ $semicolon_hack (ເບິ່ງຂ້າງລຸ່ມນີ້) ຖືກເປີດໃຊ້, ເນື້ອໃນຂອງຕົວແປນີ້ຖືກປະຕິບັດ
ເມື່ອພົບ semicolon ໃນ SQL Buffer. ຕົວ​ປ່ຽນ​ແປງ​ນີ້​ເປັນ​ຄ່າ​ເລີ່ມ​ຕົ້ນ​ທີ່
ສາຍ '\ ໄປ'.

semicolon_hack (boolean)
ສະຫຼັບຄວາມສາມາດໃນການໃຊ້ ';' ເປັນຕົວສິ້ນສຸດຄໍາສັ່ງໃນແຖວ. ຄຸນນະສົມບັດນີ້ແມ່ນ
ບໍ່ແນະນໍາແລະມີພຽງແຕ່ຢູ່ໃນນີ້ເພາະວ່າຜູ້ໃຊ້ພຽງພໍຈົ່ມ. ເບິ່ງພາກ
ຄໍາສັ່ງ, ໃນສາຍ Go.

ເຊດຊັນ (ສະຕຣິງ)
ສະຖານທີ່ຂອງໄຟລ໌ເຊດຊັນທີ່ຈະຖືກປະມວນຜົນກ່ອນທີ່ຈະເຊື່ອມຕໍ່ກັບ a
ເຊີບເວີ. ຕົວແປຈະຖືກຂະຫຍາຍອອກ ດັ່ງນັ້ນມັນອາດຈະມີຕົວແປສະພາບແວດລ້ອມ.

SHELL (ສະຕຣິງ)
ຊື່ຂອງແກະທີ່ຈະປະຕິບັດທໍ່ແລະນໍາໃຊ້ໂດຍ \ ແກະ ຄໍາສັ່ງ
(ຄ່າເລີ່ມຕົ້ນ '/ ຖັງ / sh').

ສະຖິຕິ (ບູລີນ)
ການຕັ້ງຄ່າ $ ສະຖິຕິ ເຖິງ 1 ເຮັດໃຫ້ສະຖິຕິເວລາສະແດງຜົນສຳເລັດ
ການປະຕິບັດທຸກ batch ຂອງ SQL. ຕົວແປນີ້ອາດຈະຖືກຕັ້ງຜ່ານ -t ເສັ້ນຄໍາສັ່ງ
ທຸງ, ຫຼືໂດຍການສະຫນອງ -t ການ \ ໄປ ຄໍາສັ່ງ. $ ສະຖິຕິ ຄ່າເລີ່ມຕົ້ນເປັນ 0.

ແບບ (ສະຕຣິງ)
ເລືອກຮູບແບບການສະແດງຜົນທີ່ຕັ້ງໄວ້. ໃນປັດຈຸບັນແປດຮູບແບບແມ່ນສະຫນັບສະຫນູນ. ໄດ້ ຂອບຟ້າ
(ຊຶ່ງອາດຈະຖືກກໍານົດເປັນ ດູຖູກ or ອອກຕາມລວງນອນ), ຢ່າງໃກ້ຊິດ resembles ຜົນຜະລິດຂອງ
isql, ກັບຜົນຜະລິດຖັນແບບດັ້ງເດີມ.

ໄດ້ ສີຂຽວ (ຫຼື ຕັ້ງ) style rotates ຜົນ​ຜະ​ລິດ​, ດັ່ງ​ນັ້ນ​ທຸກ​ເສັ້ນ​ແມ່ນ​ເປັນ​ຕົວ​ແທນ​ໂດຍ​
ຊື່ຖັນຕາມດ້ວຍຄ່າຖັນ. ນີ້ແມ່ນດີສໍາລັບການເບິ່ງໂດຍສະເພາະ
ຜົນຜະລິດກ້ວາງ.

ໄດ້ bcp ຮູບແບບສະແດງຜົນໃນຮູບແບບທີ່ເໝາະສົມກັບ bcp'ing ຜົນໄດ້ຮັບທີ່ຕັ້ງກັບຄືນ
ເຂົ້າໄປໃນຕາຕະລາງອື່ນ. ນັ້ນແມ່ນ, ທຸກໆຄ່າຄໍລໍາຖືກແຍກອອກໂດຍ $bcp_colsep ກັບ
ຖັນສຸດທ້າຍແຍກອອກໂດຍ $bcp_rowsep ຕາມດ້ວຍແຖວໃໝ່ (\n). ຖ້າ $bcp_colsep or
$bcp_rowsep ບໍ່ໄດ້ກໍານົດຫຼັງຈາກນັ້ນ '|' ຖືກນໍາໃຊ້ເປັນຕົວແຍກເລີ່ມຕົ້ນ. ໃຫ້ສັງເກດວ່ານີ້
ຜົນຜະລິດເຮັດວຽກບໍ່ດີກັບຖັນ COMPUTE, ແລະໃຊ້ການແປງຄ່າເລີ່ມຕົ້ນ
ວິທີການສໍາລັບທຸກປະເພດຂໍ້ມູນ (ນັ້ນແມ່ນ, ໄລຍະເວລາ ຖັນອາດຈະຕັດເປັນ millisecond).

ໄດ້ csv ຮູບແບບການສະແດງຜົນອອກຊຸດຜົນໄດ້ຮັບທັງໝົດໃນຮູບແບບຂອງເຄື່ອງໝາຍຈຸດທີ່ແຍກອອກ
ກໍ່ສ້າງ. ຮູບແບບນີ້ແມ່ນເຫມາະສົມສໍາລັບການນໍາເຂົ້າຊຸດຜົນໄດ້ຮັບເຂົ້າໄປໃນໂຄງການຕາຕະລາງ, ສໍາລັບ
ຕົວຢ່າງ.

ໄດ້ html ຮູບແບບການສະແດງຜົນອອກມາທຸກຊຸດຜົນໄດ້ຮັບໃນຮູບແບບຂອງ HTML
ກໍ່ສ້າງ. ຮູບແບບນີ້ແມ່ນເຫມາະສົມສໍາລັບການນໍາໃຊ້ sqsh ເປັນຄໍາຮ້ອງສະຫມັກ CGI.

ໄດ້ meta ຮູບແບບການສະແດງຜົນພຽງແຕ່ຂໍ້ມູນ meta-data ທີ່ກ່ຽວຂ້ອງກັບ
ຜົນໄດ້ຮັບແລະຍົກເລີກຜົນໄດ້ຮັບຂອງແຖວຕົວຈິງ. ຮູບແບບນີ້ແມ່ນເປັນປະໂຫຍດສໍາລັບການ debugging ໄດ້
ຊຸດຜົນໄດ້ຮັບທີ່ສ້າງຂຶ້ນຈາກປະຕູເຊີບເວີເປີດ passthru ເຕັມ, ຫຼືສໍາລັບຜູ້ທີ່
ມີຄວາມສົນໃຈໃນສິ່ງທີ່ຈະກັບຄືນມາຈາກເຄື່ອງແມ່ຂ່າຍ.

ໄດ້ pretty ຮູບແບບການສະແດງຜົນສ້າງຜົນຜະລິດທີ່ຄ້າຍຄືຕາຕະລາງ fluffy ໂດຍໃຊ້ ASCII ປົກກະຕິ
ຕົວອັກສອນສໍາລັບຊາຍແດນ. ໂໝດນີ້ບໍ່ປະຕິບັດການຫໍ່ຖັນຢ່າງຈະແຈ້ງ, ເຊັ່ນ:
ໄດ້ ຂອບຟ້າ ຮູບແບບການສະແດງ. ຢ່າງໃດກໍຕາມ, ໄດ້ $colwidth ຕົວແປສາມາດຖືກນໍາໃຊ້ເພື່ອຄວບຄຸມ
ຄວາມກວ້າງສູງສຸດຂອງຖັນທີ່ໃຫ້ຢູ່ໃນໜ້າຈໍ. ຖ້າຖັນເກີນ $colwidth
ຕົວອັກສອນກວ້າງ, ມັນຖືກຫໍ່ດ້ວຍລັກສະນະທີ່ຂ້ອນຂ້າງດຶງດູດສາຍຕາ. ໃຫ້ສັງເກດວ່າ
$colwidth ອາດຈະເກີນຖ້າມີຄວາມກວ້າງຂອງຫນ້າຈໍພຽງພໍທີ່ຈະຖືຄໍລໍາໂດຍບໍ່ມີ
ຫໍ່.

ໄດ້ none ຮູບແບບການສະແດງຈະສະກັດກັ້ນຜົນໄດ້ຮັບທັງໝົດຈາກການຖືກສະແດງ (ຢ່າງໃດກໍຕາມ
ຕົວຈິງແລ້ວດຶງຂໍ້ມູນຜົນໄດ້ຮັບຈາກ SQL Server). ນີ້ແມ່ນເປັນປະໂຫຍດໂດຍສະເພາະ
ເມື່ອໃຊ້ກັບ -p ທຸງ (ຫຼື $ ສະຖິຕິ variable) ສໍາລັບການລວບລວມທີ່ຖືກຕ້ອງ
ສະ​ຖິ​ຕິ​ການ​ປະ​ຕິ​ບັດ​.

term_title (string)
ເມື່ອຕົວແປນີ້ຖືກຕັ້ງ, sqsh ຈະປ່ຽນຊື່ຂອງ terminal ໃນປັດຈຸບັນ (xterm)
ປ່ອງ​ຢ້ຽມ​ມັນ​ກໍາ​ລັງ​ແລ່ນ​ຢູ່​ໃນ. ເຮັດ​ວຽກ​ສໍາ​ລັບ​ປ່ອງ​ຢ້ຽມ xterm​, rxvt​, putty ແລະ MS-Windows CMD​. ໄດ້
ຊື່ປະກອບດ້ວຍຊື່ເລີ່ມຕົ້ນ sqsh ຕື່ມໃສ່ກັບມູນຄ່າຂະຫຍາຍຂອງ
$term_title ຕົວແປ.

thresh_display (int)
ກໍາ​ນົດ​ຄວາມ​ຮຸນ​ແຮງ​ຄວາມ​ຜິດ​ພາດ Server SQL ຕໍາ​່​ສຸດ​ທີ່​ຈະ​ສະ​ແດງ​ຂໍ້​ຄວາມ​ໃຫ້​ຜູ້​ໃຊ້​,
ຄ່າເລີ່ມຕົ້ນແມ່ນ 0 ແລະໄລຍະທີ່ຖືກຕ້ອງແມ່ນຢູ່ລະຫວ່າງ 0 ແລະ 22, ລວມທັງ.

thresh_exit (int)
ກໍານົດຈໍານວນສູງສຸດຂອງຄວາມຜິດພາດຂອງລະດັບຄວາມຮຸນແຮງ $thresh_fail ທີ່ອາດຈະເປັນ
ພົບກັບກ່ອນທີ່ຈະເອົາລູກອອກ sqsh. ນີ້ແມ່ນເປັນປະໂຫຍດຕົ້ນຕໍສໍາລັບສະຄິບທີ່ບໍ່ມີການໂຕ້ຕອບ,
ແຕ່ຖືກອະນຸຍາດໃຫ້ຢູ່ໃນກອງປະຊຸມແບບໂຕ້ຕອບ. ການຕັ້ງຄ່າ $thresh_exit ເປັນມູນຄ່າ 0
ປິດໃຊ້ງານຄຸນສົມບັດນີ້. ເບິ່ງພາກ ອອກ STATUS ສໍາລັບລາຍລະອຽດ.

thresh_fail (int)
ກໍານົດລະດັບຄວາມຮຸນແຮງຂອງ SQL Server ຕໍາ່ສຸດທີ່ຈະຖືກພິຈາລະນາເປັນຊຸດທີ່ລົ້ມເຫລວ.
ຕໍາ່ສຸດທີ່ສໍາລັບຄ່ານີ້ແມ່ນ 0 (ຫມາຍຄວາມວ່າຄວາມຜິດພາດໃດໆທີ່ບໍ່ແມ່ນຂໍ້ມູນ
message), ແລະສູງສຸດແມ່ນ 22. ທຸກຄັ້ງ $thresh_fail ແມ່ນຂ້າມ, ຕົວແປ
$batch_failcount ແມ່ນເພີ່ມຂຶ້ນໂດຍ 1. ເບິ່ງພາກ ອອກ STATUS ສໍາລັບລາຍລະອຽດ.

ເວລາ (ວັນທີ-ສະເພາະ)
ຕົວແປນີ້ອາດຈະຖືກຕັ້ງດ້ວຍຮູບແບບເວລາ (ເບິ່ງ man page for ວັນ(1​)), ແລະ
ຕົວແປຂະຫຍາຍໄປສູ່ເວລາປະຈຸບັນໃນຮູບແບບທີ່ສະໜອງໃຫ້. ຮູບແບບເລີ່ມຕົ້ນສໍາລັບ
ຕົວແປນີ້ແມ່ນ %H:%M:%S (ເຊັ່ນ: 14:32:58).

tmp_dir (ເສັ້ນທາງ)
ນີ້ປະກອບມີໄດເລກະທໍລີທີ່ໄຟລ໌ຊົ່ວຄາວໃຊ້ພາຍໃນໂດຍ sqsh ແມ່ນຈະເປັນ
ຂຽນ. ໄຟລ​໌​ເຫຼົ່າ​ນີ້​ແມ່ນ​ໄດ້​ຖືກ​ສ້າງ​ຕັ້ງ​ຂຶ້ນ​ໃນ​ລະ​ຫວ່າງ​ການ​ແກ້​ໄຂ buffer (the \buf-ແກ້ໄຂ
command), ຫຼືເພື່ອຮັກສາໄຟລ໌ defer ຜົນຜະລິດສໍາລັບວຽກພື້ນຫລັງ. ຄ່າເລີ່ມຕົ້ນ
ສໍາລັບຕົວແປນີ້ແມ່ນ /tmp.

ຊື່ຜູ້ໃຊ້ (string)
ຊື່ຂອງຜູ້ໃຊ້ປະຈຸບັນເຊື່ອມຕໍ່ກັບຖານຂໍ້ມູນ.

ລຸ້ນ (ບໍ່ມີ)
ຕົວແປທີ່ອ່ານໄດ້ຢ່າງດຽວນີ້ມີຕົວເລກເວີຊັນປັດຈຸບັນ. (sqsh-2.1.7)

ຄວາມກວ້າງ (int)
ຄວາມກວ້າງປະຈຸບັນຂອງຜົນຜະລິດ SQL.

xgeom (string/int)
ຖ້າການສະຫນັບສະຫນູນ X11 ຖືກລວບລວມເຂົ້າໄປໃນ sqsh, ຄ່ານີ້ຖືກນໍາໃຊ້ເພື່ອກໍານົດຄ່າເລີ່ມຕົ້ນ
ຂະໜາດໜ້າຕ່າງ (ໃນຕົວອັກສອນ) ຂອງຈໍສະແດງຜົນ X. ຕົວແປນີ້ຕ້ອງເປັນຮູບແບບ WxH
ຫຼືພຽງແຕ່ W, ບ່ອນທີ່ W ແມ່ນຄວາມກວ້າງຂອງປ່ອງຢ້ຽມແລະ H ແມ່ນຄວາມສູງຂອງປ່ອງຢ້ຽມ. ຖ້າ
ຄວາມສູງຂອງປ່ອງຢ້ຽມບໍ່ໄດ້ສະຫນອງ, ຫຼັງຈາກນັ້ນ 25 ສາຍແມ່ນສົມມຸດ. ຖ້າ $xgeom ບໍ່​ແມ່ນ
ຕັ້ງ, ຈາກນັ້ນ $width ຖືກນໍາໃຊ້ເປັນຄວາມກວ້າງໃນຕອນຕົ້ນແລະຄວາມສູງສົມມຸດວ່າເປັນ 25. ຖ້າ
ທັງສອງບໍ່ໄດ້ຕັ້ງ, ຫຼັງຈາກນັ້ນສົມມຸດວ່າ 80x25.

xwin_title (string)
ຖ້າການສະຫນັບສະຫນູນ X11 ຖືກລວບລວມເຂົ້າໄປໃນ sqsh ແລະປ່ອງຢ້ຽມຜົນໄດ້ຮັບ X11 ຖືກຮ້ອງຂໍໂດຍໃຊ້
ໄດ້ -x ຕົວກໍານົດການຂອງ \ ໄປ or \rpc ຄໍາສັ່ງ, ຫຼັງຈາກນັ້ນຕົວແປນີ້ຈະຖືກນໍາໃຊ້ເພື່ອກໍານົດ
ຊື່ຫົວຂໍ້ຂອງປ່ອງຢ້ຽມ. ສາມາດ overridden ຊົ່ວຄາວກັບ -T ທາງເລືອກຂອງ
\ ໄປ ແລະ \rpc ຄຳ ສັ່ງ.

script ການບໍລິຫານ
ເຊັ່ນດຽວກັບແກະສ່ວນໃຫຍ່, sqsh ອະນຸຍາດໃຫ້ໄຟລ໌ທີ່ມີຄໍາສັ່ງ SQL ແລະ script ດໍາເນີນການ
ໂດຍກົງຜ່ານ UNIX magical #! ສົນທິສັນຍາ. ໃນເວທີ UNIX ສ່ວນໃຫຍ່, ໃນເວລາທີ່ປະຕິບັດງານ
ລະບົບພົບກັບ bytes #! ເປັນສອງ bytes ທໍາອິດຂອງໄຟລ໌ທີ່ປະຕິບັດໄດ້ມັນຈະ
ອັດຕະໂນມັດທໍ່ໄຟລ໌ຜ່ານນາຍພາສາທີ່ລະບຸໄວ້ທັນທີຫຼັງຈາກ #!.
ສໍາລັບຕົວຢ່າງ, ເພື່ອສ້າງການປະຕິບັດ sqsh script ທີ່ຈະດໍາເນີນການ sp_who, ທ່ານພຽງແຕ່ຕ້ອງການສ້າງ
ໄຟລ໌ເຊັ່ນ:

#!/usr/bin/sqsh -i
sp_who
go

ດັ່ງນັ້ນ, ຖ້າເຈົ້າ sp_who script ຖືກປະຕິບັດໂດຍກົງ, ມັນຈະເປີດຕົວໂດຍອັດຕະໂນມັດ
"/usr/bin/sqsh -i sp_who"ສໍາລັບທ່ານ.

ແລະ, ເພື່ອເຮັດໃຫ້ສິ່ງຕ່າງໆມີຄວາມຍືດຫຍຸ່ນຫຼາຍຂຶ້ນ, sqsh ສະຫນັບສະຫນູນຕົວກໍານົດການຕໍາແຫນ່ງ, ຄ້າຍຄືກັນກັບ
ຫອຍ​ຫຼາຍ​ທີ່​ສຸດ​, ຂອງ​ຮູບ​ແບບ​ ${n} ເຊິ່ງຈະຂະຫຍາຍໄປສູ່ nການໂຕ້ຖຽງຂອງທ່ານ sqsh script
ຍົກ​ຕົວ​ຢ່າງ:

#!/usr/bin/sqsh -i
sp_who ${1}
go

ຈະເຮັດໃຫ້ເກີດການ sp_who ຂັ້ນຕອນການເກັບຮັກສາທີ່ຈະປະຕິບັດດ້ວຍການໂຕ້ຖຽງຂອງຄັ້ງທໍາອິດ
ຕົວກໍານົດການເສັ້ນຄໍາສັ່ງສະຫນອງໃຫ້ກັບ sp_who shell script.

ໃຫ້ສັງເກດວ່າຕົວກໍານົດການຕໍາແຫນ່ງ ຕ້ອງ ໄດ້ຖືກບັນຈຸລະຫວ່າງວົງເລັບເພື່ອຫຼີກເວັ້ນການຂັດແຍ້ງກັບ
TSQL ໄດ້ ເງິນ ປະເພດຂໍ້ມູນ (ໂດຍບໍ່ມີວົງເລັບ, ຕົວແປຈະບໍ່ຖືກຂະຫຍາຍ).

ອອກ STATUS


ຫນຶ່ງໃນຄໍາຮ້ອງທຸກທີ່ສໍາຄັນຂອງ isql ແມ່ນວ່າມັນສະຫນອງສິ່ງອໍານວຍຄວາມສະດວກໃນການກວດສອບໃນເວລາທີ່ບໍ່ມີ
ສະພາບຄວາມຜິດພາດເກີດຂຶ້ນໃນຂະນະທີ່ມັນກໍາລັງດໍາເນີນການປະມວນຜົນ. sqsh ສະຫນອງແທນທີ່ຈະ
ກົນໄກທີ່ຊັບຊ້ອນ, ແຕ່ມີຄວາມຍືດຫຍຸ່ນໃນການສົ່ງຄືນຂໍ້ມູນທີ່ມີຄວາມຫມາຍກ່ຽວກັບເຫດຜົນຂອງມັນ
ສໍາລັບການອອກໃນຮູບແບບຂອງສະຖານະການອອກ (ເບິ່ງ ການທ່ອງທ່ຽວ(3​)).

ເມື່ອ​ໃດ​ sqsh ເລີ່ມ​ຕົ້ນ​ການ​ປະ​ຕິ​ບັດ handlers ສອງ​ແມ່ນ​ກ່ຽວ​ຂ້ອງ​ກັບ​ການ​ເຊື່ອມ​ຕໍ່​ໃນ​ປະ​ຈຸ​ບັນ​ກັບ​
ຖານຂໍ້ມູນ, ຫນຶ່ງແມ່ນຕົວຈັດການຂໍ້ຄວາມທີ່ຮັບຜິດຊອບໃນການສະແດງຂໍ້ຄວາມຂອງ SQL ໃດ
ຂໍ້ຄວາມຂອງເຄື່ອງແມ່ຂ່າຍຫຼືຄວາມຜິດພາດ, ແລະອີກອັນຫນຶ່ງແມ່ນຕົວຈັດການຄວາມຜິດພາດ, ເຊິ່ງຮັບຜິດຊອບ
ການກໍານົດສິ່ງທີ່ຕ້ອງເຮັດກັບເງື່ອນໄຂຄວາມຜິດພາດ (ຮັບຜິດຊອບກັບຂ້ອຍ, ເຫຼົ່ານີ້ແມ່ນພຽງແຕ່ວ່າງ
ລາຍ​ລະ​ອຽດ). ແລະ, ທີ່ກ່ຽວຂ້ອງກັບແຕ່ລະຂໍ້ຄວາມແລະເງື່ອນໄຂຄວາມຜິດພາດແມ່ນລະດັບຄວາມຮ້າຍແຮງ,
ລະຫວ່າງ 0 ແລະ 22 (ຂໍ້ຄວາມໃຫ້ຂໍ້ມູນເຖິງສະພາບທີ່ເສຍຊີວິດ).

ກ່ຽວຂ້ອງກັບຕົວຈັດການຂໍ້ຄວາມທັງສອງນີ້ແມ່ນຕົວແປຫຼາຍອັນທີ່ຖືກນໍາໃຊ້ເພື່ອບໍ່ວ່າຈະ
ຄວບຄຸມພຶດຕິກໍາຂອງເຂົາເຈົ້າ, ຫຼືຖືກນໍາໃຊ້ເປັນຕົວຊີ້ວັດໂດຍຕົວຈັດການຂໍ້ຄວາມ:

$thresh_display
ຕົວແປນີ້ຖືກນໍາໃຊ້ໂດຍຕົວຈັດການຂໍ້ຄວາມເພື່ອກໍານົດຄວາມຮຸນແຮງຂອງຄວາມຜິດພາດຂັ້ນຕ່ໍາ
ເຊິ່ງຈະເຮັດໃຫ້ຂໍ້ຄວາມຖືກສະແດງ. ໂດຍຄ່າເລີ່ມຕົ້ນນີ້ແມ່ນ 0, ເຊິ່ງຈະສະແດງ
ຂໍ້ຄວາມທັງໝົດ (ມີຂໍ້ຍົກເວັ້ນບາງອັນ). ການຕັ້ງຄ່ານີ້ເປັນ 1, ສໍາລັບຕົວຢ່າງ, ຈະ
ສະກັດກັ້ນຂໍ້ຄວາມຂໍ້ມູນຂ່າວສານເຊັ່ນ: ຜົນຜະລິດຂອງ ທີ່ກໍານົດໄວ້ ແຜນການສະແດງ on.

$thresh_fail
ຕົວແປນີ້ຖືກນໍາໃຊ້ໂດຍຕົວຈັດການຄວາມຜິດພາດເພື່ອກໍານົດວ່າຄວາມຮ້າຍແຮງຂອງຄວາມຜິດພາດແມ່ນຫຍັງ
ພິຈາລະນາໂດຍ sqsh ເປັນຄວາມລົ້ມເຫຼວ. ໂດຍປົກກະຕິ, ນີ້ກໍານົດຄ່າເລີ່ມຕົ້ນເປັນ 11 ເຊິ່ງຊີ້ບອກວ່າ
ຄວາມ​ຜິດ​ພາດ​ໃດໆ​, ນອກ​ເຫນືອ​ໄປ​ຈາກ​ຂໍ້​ຄວາມ​ຂໍ້​ມູນ​ຂ່າວ​ສານ​, ແມ່ນ​ຄວາມ​ລົ້ມ​ເຫຼວ​. ຕົວແປຕໍ່ໄປຈະ
ອະທິບາຍຄວາມສໍາຄັນຂອງມູນຄ່ານີ້.

$batch_failcount
ຕົວແປນີ້ຄວນຈະຖືກພິຈາລະນາອ່ານເທົ່ານັ້ນ, ແລະມີຈໍານວນເວລາທັງຫມົດ
batches ທີ່ເຮັດໃຫ້ເກີດຄວາມຜິດພາດຂອງຄວາມຮຸນແຮງ $thresh_fail ຫຼື​ຫຼາຍ​ກວ່າ. ມູນຄ່າພຽງແຕ່
ທີ່ຖືກຕ້ອງເພື່ອກໍານົດຄ່ານີ້ຢ່າງຈະແຈ້ງເປັນ "" (ສະຕຣິງຫວ່າງເປົ່າ), ເຊິ່ງຈະ
ປັບຄ່ານີ້ເປັນ 0, ຄ່າອື່ນອາດມີຜົນໄດ້ຮັບທີ່ຄາດເດົາບໍ່ໄດ້.

$thresh_exit
ຕົວແປນີ້ຖືກນໍາໃຊ້ເພື່ອກໍານົດຂອບເຂດຈໍາກັດທີ່ $batch_failcount ຈະເຮັດໃຫ້ເກີດ sqsh
ອອກໄປ. ຖ້າ $thresh_exit ແມ່ນ 0, ຫຼັງຈາກນັ້ນຄຸນສົມບັດນີ້ຖືກປິດໃຊ້ງານ. ໃນຄໍາສັບຕ່າງໆອື່ນໆ, ຖ້າ
$batch_failcount = $thresh_exit ແລະ $thresh_exit ແມ່ນຫຼາຍກວ່າ 0, ຈາກນັ້ນ sqsh ຈະ
ອອກ, ກັບຄືນ $batch_failcount ເປັນສະຖານະທາງອອກ.

ໃຫ້ສັງເກດວ່າ, ເວັ້ນເສຍແຕ່ $exit_failcount ຖືກຕັ້ງເປັນ 1, sqsh ຈະອອກດ້ວຍ 0 ຖ້າຈໍານວນທັງຫມົດ
ຈໍານວນຄວາມລົ້ມເຫລວບໍ່ໄດ້ບັນລຸ $thresh_exit.

$exit_failcount
ຕົວແປນີ້ຖືກນໍາໃຊ້ພຽງແຕ່ເມື່ອ sqsh ປົກກະຕິຈະອອກດ້ວຍສະຖານະຄວາມສຳເລັດ (0),
ນີ້ເຮັດໃຫ້ມັນແທນທີ່ຈະອອກດ້ວຍຄ່າຂອງ $batch_failcount (ຊຶ່ງອາດຈະ, ຕົວຂອງມັນເອງ, ເປັນ
0).

$exit_value
ເມື່ອຕົວແປນີ້ແມ່ນບໍ່ແມ່ນສູນ, ມັນຈະ override ໄດ້ $exit_failcount ແລະ
$batch_failcount ຄ່າແລະພຽງແຕ່ອອກຈາກມູນຄ່າຂອງ $exit_value. ຕົວແປນີ້ອາດຈະເປັນ
ກໍານົດຢ່າງຊັດເຈນໂດຍໃຊ້ \ ຕັ້ງ ຄໍາສັ່ງ, ຫຼືການນໍາໃຊ້ implicitly \ ອອກ x ແລະນາມແຝງຂອງມັນ
ຄູ່ຮ່ວມງານຂອງ.

ເພື່ອສະຫຼຸບຄືນ, ນີ້ແມ່ນບັນຊີລາຍຊື່ຂອງລະຫັດຄວາມຜິດພາດທີ່ອາດຈະຖືກສົ່ງຄືນໂດຍ sqsh ເມື່ອອອກ, ແລະ
ເຫດ​ຜົນ​ທີ່​ເຂົາ​ເຈົ້າ​ສາ​ມາດ​ໄດ້​ຮັບ​ການ​ກັບ​ຄືນ​ໄປ​ບ່ອນ​:

- ປີ 0 -
ບໍ່ພົບຂໍ້ຜິດພາດ.

- 1...253 -
ລະຫວ່າງ 1 ແລະ 253 batches ໄດ້ລົ້ມເຫລວ (ຖ້າທ່ານແລ່ນຫຼາຍກວ່າ 253 batches, ອອກຈາກ.
ສະຖານະຂອງ sqsh ແມ່ນບໍ່ໄດ້ກໍານົດ ... ຂ້ອຍອາດຈະແກ້ໄຂມັນໃນອະນາຄົດ).

- ປີ 254 -
ຈະແຈ້ງ \ ເອົາລູກອອກ ໄດ້ຖືກເອີ້ນ, ຫຼື SIGINT (^C) ຖືກອອກໃນລະຫວ່າງການບໍ່ໂຕ້ຕອບ
session

- ປີ 255 -
ສະພາບຄວາມຜິດພາດທົ່ວໄປເກີດຂຶ້ນ, ເຊັ່ນ: ການໂຕ້ຖຽງເສັ້ນຄໍາສັ່ງທີ່ບໍ່ດີກັບ sqsh,
ການຈັດສັນຄວາມຈຳລົ້ມເຫລວ, ຄວາມຜິດພາດໃນການເຂົ້າເຖິງໄຟລ໌, ແລະອື່ນໆ.

ພາກສ່ວນຕໍ່ໄປນີ້ໃຫ້ຕົວຢ່າງລາຍລະອຽດຂອງການປະສົມປະສານຂອງການຕັ້ງຄ່າຕົວແປແລະ
ຜົນ​ໄດ້​ຮັບ​ທີ່​ຜະ​ລິດ​ຕາມ​ການ​ອອກ​ທີ່​ມີ​ເງື່ອນ​ໄຂ​ຄວາມ​ລົ້ມ​ເຫຼວ​ທີ່​ແນ່​ນອນ​. ມັນ​ແມ່ນ​ຄາດ​ວ່າ​
$exit_value ຕົວແປມີ 0 ໃນຕົວຢ່າງຕໍ່ໄປ.

thresh_display=0, thresh_fail=0, thresh_exit=1
ດ້ວຍການປະສົມປະສານນີ້, ຂໍ້ຄວາມສະແດງຂໍ້ຜິດພາດທັງຫມົດຈະຖືກສະແດງຍ້ອນວ່າພວກມັນເກີດຂື້ນ, ແລະທຸກໆຄັ້ງ
ຂໍ້ຜິດພາດຈະຖືກພິຈາລະນາເປັນເງື່ອນໄຂທີ່ລົ້ມເຫລວ. ເມື່ອເຖິງຄວາມຜິດພາດຄັ້ງທໍາອິດ, sqsh
ຈະ​ເອົາ​ລູກ​ອອກ​ທີ່​ມີ​ສະ​ຖາ​ນະ​ການ​ອອກ​ຂອງ 1​, ຫຼື​ຈໍາ​ນວນ​ທັງ​ຫມົດ​ຂອງ​ຄວາມ​ລົ້ມ​ເຫຼວ (the
$batch_failcount ຕົວແປ). ຢ່າງໃດກໍ່ຕາມ, ຖ້າບໍ່ມີຫຍັງຜິດພາດໃນລະຫວ່າງຂະບວນການທັງຫມົດ, a
ສູນຖືກສົ່ງຄືນ.

thresh_display=0, thresh_fail=0, thresh_exit=3
ການປະສົມປະສານນີ້ຈະເຮັດໃຫ້ເງື່ອນໄຂຄວາມຜິດພາດທັງຫມົດຖືກສະແດງແລະພວກມັນທັງຫມົດຈະເປັນ
ຖືວ່າເປັນເງື່ອນໄຂທີ່ລົ້ມເຫລວ. ​ເມື່ອ​ເຂົ້າ​ເຖິງ​ສາມ​ຊຸດ​ທີ່​ບໍ່​ສຳ​ເລັດ​ທັງ​ໝົດ, sqsh ຈະ
ອອກດ້ວຍສະຖານະ 3. ແນວໃດກໍ່ຕາມຖ້າ 0, 1, ຫຼື 2 batches ລົ້ມເຫລວ, ຫຼັງຈາກນັ້ນ 0 ຈະຖືກສົ່ງຄືນ.

thresh_display=22, thresh_fail=0, thresh_exit=3
ນີ້ປະຕິບັດຄືກັນກັບຕົວຢ່າງທີ່ຜ່ານມາ, ມີຂໍ້ຍົກເວັ້ນວ່າຄວາມຜິດພາດທັງຫມົດ
ຂໍ້ຄວາມຈະຖືກສະກັດກັ້ນບໍ່ໃຫ້ສະແດງ. ນີ້ແມ່ນເປັນປະໂຫຍດໂດຍສະເພາະຖ້າທ່ານ
ພຽງແຕ່ສົນໃຈກັບມູນຄ່າທາງອອກຫຼາຍກ່ວາຄວາມຜິດພາດທີ່ແທ້ຈິງ.

thresh_display=0, thresh_fail=2, thresh_exit=1
ນີ້ຈະເຮັດໃຫ້ຄວາມຜິດພາດຄັ້ງທໍາອິດຂອງຄວາມຮຸນແຮງ 2 ຫຼືສູງກວ່າທີ່ຈະສະແດງແລະເຮັດໃຫ້ເກີດ sqsh
ການ​ອອກ​ດ້ວຍ​ເງື່ອນ​ໄຂ​ຄວາມ​ລົ້ມ​ເຫຼວ​ຂອງ 1​.

thresh_display=0, thresh_fail=0, thresh_exit=3, exit_failcount=1
ຢ່າງໃດກໍຕາມ, ນີ້ແມ່ນຄືກັນກັບຕົວຢ່າງທີສອງ, ຂ້າງເທິງ sqsh ຈະກັບຄືນຈໍານວນທັງຫມົດ
ຈໍານວນຂອງ batch ທີ່ລົ້ມເຫລວເຖິງແມ່ນວ່າ $batch_failcount ບໍ່ຮອດ 3.

exit_value=ບໍ່ສູນ
ນີ້ຈະ override ເງື່ອນໄຂທັງຫມົດທີ່ອະທິບາຍຂ້າງເທິງນີ້ແລະພຽງແຕ່ອອກຈາກມູນຄ່າສະເພາະ.

Miscellaneous
ການໃສ່ສີ sqsh ເຕືອນ, ແລະອື່ນໆ

ລະຫັດສີຖືກສະແດງເປັນສະຕຣິງເຊັ່ນ {1;2;3}. ຖ້າ sqsh ພົບ { (curly brace)
ໃນສະຕຣິງ prompt ມັນຈະສົມມຸດວ່າລະຫັດສີໄດ້ຖືກສະຫນອງແລະຈະປະຕິບັດເຊັ່ນນັ້ນ. ບໍ່
ການກວດສອບຈະຖືກປະຕິບັດກ່ຽວກັບຄວາມຖືກຕ້ອງຂອງຄໍານິຍາມລະຫັດສີຕົວມັນເອງ. ສີ
ຄໍານິຍາມປະກອບມີສາມຄ່າທີ່ແຍກອອກໂດຍເຄື່ອງໝາຍຈຸດ.

ລະຫັດທໍາອິດກໍານົດລະຫັດຄຸນລັກສະນະສີທີ່ມີຄ່າທີ່ເປັນໄປໄດ້: 0=none 1=bold

ຄ່າທີສອງກຳນົດລະຫັດສີຂໍ້ຄວາມ: 30=ດຳ 31=ສີແດງ 32=ສີຂຽວ 33=ສີເຫຼືອງ 34=ສີຟ້າ
35=ສີມ່ວງແດງ 36=ສີຟ້າຂຽວ 37=ສີຂາວ

ຄ່າທີສາມກຳນົດລະຫັດສີພື້ນຫຼັງ: 40=ດຳ 41=ສີແດງ 42=ສີຂຽວ 43=ສີເຫຼືອງ
44=ສີຟ້າ 45=magenta 46=cyan 47=ສີຂາວ ລະຫັດສີສຸດທ້າຍສຳລັບພື້ນຫຼັງອາດຈະຖືກລະເວັ້ນ.

ບໍ່ແມ່ນການປະສົມສີ ແລະຄຸນລັກສະນະທັງໝົດຈະນຳສະເໜີຜົນໄດ້ຮັບທີ່ດີ, ຂຶ້ນກັບເຈົ້າ
ປະເພດ terminal ແລະໂຄງການສີ. ແຕ່ຄ່າຕໍ່ໄປນີ້ເຮັດວຽກ OK ໃນ xterm ທີ່ມີສີຄີມ
ສີພື້ນຫລັງສີຂາວໃນ Linux ເຊັ່ນດຽວກັນກັບ rxvt ໃນ Cygwin ທີ່ມີປ່ອງຢ້ຽມພື້ນຫລັງສີດໍາ:

ການເຕືອນ: ຂໍ້ຄວາມສີຟ້າໃນພື້ນຫຼັງສີຂາວ "{0;34;47}"

ຂໍ້ຄວາມຄໍາສັ່ງ: ຂໍ້ຄວາມສີເຫຼືອງ "{0;33}"

sqsh ຈະແປລະຫັດສີເປັນສາຍລະຫັດສີຕົວຈິງທີ່ນໍາສະເຫນີໃຫ້
ແຖວອ່ານ: ຕົວຢ່າງ "\001\033[0;36;47m\002". ໃຫ້ສັງເກດວ່າຖ້າທ່ານຕ້ອງການໃຊ້ວົງເລັບ curly
ໃນ​ການ​ກະ​ຕຸ້ນ​ຂອງ​ທ່ານ​, ທ່ານ​ຈໍາ​ເປັນ​ຕ້ອງ​ຫນີ​ສີ​ໂດຍ​ການ​ລະ​ບຸ​ວົງ​ເລັບ​ສອງ​, ເຊັ່ນ​:​
{{...}}. ຍົກ​ຕົວ​ຢ່າງ:

\set prompt_color='{0;34;47}'
\set text_color='{0;33}'
\set prompt='$prompt_color{{$DSQUERY.$username.$database.$lineno}}>$text_color '

ການສະຫນັບສະຫນູນສີແມ່ນອັດຕະໂນມັດຖ້າ sqsh ຖືກລວບລວມແລະເຊື່ອມໂຍງກັບ readline
ຮອງຮັບການເປີດໃຊ້ງານ.

ໃຊ້ sqsh ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net


ເຊີບເວີ ແລະສະຖານີເຮັດວຽກຟຣີ

ດາວໂຫຼດແອັບ Windows ແລະ Linux

Linux ຄຳ ສັ່ງ

Ad




×
ການ​ໂຄ​ສະ​ນາ
?ຊື້ເຄື່ອງ, ຈອງ, ຫຼືຊື້ທີ່ນີ້ — ບໍ່ມີຄ່າໃຊ້ຈ່າຍ, ຊ່ວຍໃຫ້ການບໍລິການຟຣີ.