SQL– tag –
-
PostgreSQLでシーケンス権限不足エラーの解決方法
PostgreSQLでデータを処理する際に、下記のようなエラーが発生することがあります。 [crayon-67dfd531b84be474824456/] このエラーは、ロールやユーザーに実行権限が付与されていないことが原因です。この記事では、この問題の解決方法や導入方法を解説し... -
CRONとSQLを使った定期処理で重複を防ぐためのテクニック
Webシステムでは、CRONを使って定期的に処理を実行することが常に行われます。しかし、CRONによるデータ処理では、重複したデータを再度処理してしまう問題が発生する場合があります。この問題を解決するためには、データが重複しないようにWHERE区を改善... -
PostgreSQLでCURRENT_TIMESTAMPを使った日付比較の問題
データベースの検索を行う際に、日付比較をするSQL文を書く事はよくあります。しかし、PostgreSQLでCURRENT_TIMESTAMPを使うと、タイムスタンプを含むため、日付みのデータと正しく比較できないことがあります。これは「当日のデータが収集できない」とい... -
PostgreSQLデータベース初期化とSQL実行を自動化するシェルスクリプト
PostgreSQLを使用したシステム開発では、データベースの初期化やロール設定、テーブル・データの投入作業を効率化することが重要です。本記事では、それらの作業を自動化するシェルスクリプトを紹介します。 シェルスクリプトの全体 このスクリプトは、以... -
PostgreSQLで登録(insert)したレコードのIDを取得する方法
どのデータベースでも、ユニークにオートインクリメント(自動採番)するテーブルを作成するのが一般的だと思います。データベースの一つであるPostgreSQLでは、データを登録(insert)する際に、登録したIDを返す方法があります。この方法を使うことで、... -
PostgreSQLのsetval関数を使ったシーケンス番号の一括変更方法
今回は、PostgreSQLのsetval関数を使ってシーケンス番号を一括変更する方法についてお伝えします。シーケンス番号の一括変更は、基本的にあまり使いませんが、特定の場面で非常に便利です。具体的な例を交えながら順序立てて説明していきますので、参考に... -
JavaScriptの変数をSQL文に入れる方法とSQLインジェクションの回避
SQL文の中にJavaScriptの変数を入れたい場合、何も考えずにSQLと変数を連結させたり、テンプレートリテラルでSQL文を作成すると、SQLインジェクションのリスクが高くなります。そこで今回は、JavaScriptの変数とプレースホルダーを上手に活用して、SQLイン... -
PostgreSQLで配列にある複数IDを一括で更新する2つの方法
例えば、PostgreSQLのあるテーブルのデータを、JavaScriptの配列に格納された複数IDを検索して更新したい場合、ORでひたすら繋げたりfor文などを用いて実現することもできますが、IDの数だけループしてSQLを実行することになるため、あまり効率が良いよう... -
【SQL】見やすさと可読性アップのための改行とインデントの活用法
みなさんはSQL文を書く場合にどのようなことに注意をしていますか?もちろん、正常に動作することは大前提ですが、自分が後から見返したり、チームで開発をしているのであれば、他の人が見てもわかるように書かなくては、バグの温床になりかねません。 そ... -
【SQL】重複行はDISTINCTとGROUP BYどちらで除去するか
SQL文で検索した結果に対して重複したレコードを取り除く(または、まとめる)場合、DISTINCTかGROUP BYを使うと思います。SQLに慣れてないと、どちらも同じような機能だと勘違いしますが、一般的には単純に重複行を削除する場合はDISTINCT、レコードを集...
12